首先,来看w3c对函数的定义:在javascript中,函数也是以对象的形式存在的,每个函数都是Function对象的实例。
Function 是Javascript的內置对象,而function(注意大小写)就是从它派生出来的。
javascript创建函数有三种方式:
1.使用function关键字声明函数。
2.使用直接量的方式声明函数。
3.使用Function对象构造方法创建函数。
各种方法创建函数如下:
function sayHello1(){
document.write("Hello World!");
}
var sayHello2 = function(){
document.write("Hello World!");
}
var sayHello3 = new Function("document.write('Hello World!');")
执行以上函数:
sayHello1();
sayHello2();
sayHello3();
结果都为输出:
Hello World!
注意:只有function关键字声明的函数可以被声明提前
区别:
以function关键字和直接量方式创建的函数函数体固定,无法在运行时动态执行。
以new Function()方式创建的函数,因为函数体是字符串,可以在运行时动态创建,修改,执行字符串格式的函数体。
不过,以Function对象创建的函数执行效率较低。
Function()构造函数允许我们动态地创建和编译一个函数,它不会将我们限制在function语句预编译的函数体中。这样做带来的负面影响效应就是每次调用一个函数时,Function()构造函数都要对它进行编译。因此,在循环体中或者在经常使用的函数中,我们不应该频繁地调用这个构造函数。
匿名函数与Function()构造函数用法相似;不同的是匿名函数在使用时只被解析一次,而作为字符串传递给Function()构造函数的 JavaScript代码则在每次调用构造函数时都要被解析和编译一次。
还有一点值得注意的是,变量的作用域,Function()构造函数变量作用域是全局的。
例如:
var a="global";
function constructFunction()
{
var a="local";
var fun = new Function("alert(y);");//不捕捉局部作用域。
fun();
}
constructFunction();
分享到:
相关推荐
JavaScript中的function使用方法.docx
JavaScript的function函数详细介绍 通过函数来封装任意多条语句,而且可以在任何地方、任何时间调用执行。 而我们的JavaScript脚本语言比较特殊,相对于C语言,它的参数是不需要数据类型加持的。返回值return,...
关于javascript function的一些笔记,转过来的一些笔记
深化浅析JavaScript中的Function类型_.docx
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块,接下来跟着小编一起来学习javascript中的function函数,小伙伴们快来一起学习吧
理解JavascriptFunction与Object
javascript parse让js 折叠 方便定位到function插件
javascript 中(function{})这种写法什么意思?.docx
如: 代码如下: function func() { //body code } (3) 使用JavaScript内置Function对象构造。如: 代码如下: var func = new Function(“/*parameters*/”,”/*body code*/”); 声明变量定义与使用function表达式...
今天我们来尝试理解Function和Object.因为这个里面有些人前期可能会搞糊涂.他们之间到底是什么关系.当然也不除外当初的我. 注意:官方定义: 在Javascript中,每一个函数实际上都是一个函数对象. 我们先来看最简单的...
关键字function用来定义函数。...在JavaScript中,函数是Function类的具体实例。而且都与其它引用类型一样具有属性和方法。 函数名实际上是指向函数对象的指针,函数可以作为参数参与到传参和返回值中。 函数的
javascript Object与Function使用.docx
主要介绍了javascript中Function类型详解的相关资料,需要的朋友可以参考下
JavaScript 中的 function 有多重意义。它可能是一个构造器(constructor),承担起对象模板的作用; 可能是对象的方法(method),负责向对象发送消息。还可能是函数,没错是函数,和对象没有任何关系独立存在的...
javascript中最有特色而又让你困惑的function算一个了 下面看一下常用操作 代码如下: function doit(){ ….. } doit(); javascript中的函数我们可以把它当作方法使用 代码如下: var obj=new Object(); obj.say=...
jQuery的function函数中使用外部变量: //如何取得i的变量 for(i=0;i<3;i++) { $.get("/test.html", function(data){ alert(i) }); } //使用闭包: for(i=0;i<3;i++) { (function(index){ $....
Simple Log In Function with Javascript