Javascript中函数定义方法比较
2013-05-26 18:16
453 查看
定义函数的方法主要包括3种:function 语句、函数直接量、Function()构造函数(代码格式比较如下)
现在比较前两种定义函数方式的区别:
方式1 是典型的函数声明
方式2 是函数表达式
其主要区别在于:
1、函数声明需显示的指定函数名,这里是f 函数表达式则使用匿名函数
2、方式1在代码执行之前(解释器)被加载到作用域中,方式2则需在代码执行时(运行期)加载
下面一个例子说明他们的区别
可以看到,第一次弹出的是f1源码,第二次却是undefined。即采用方式1定义函数,可以在该函数代码之上使用它,采用方式2定义函数则不能在其定义前使用,只能在其定义后使用。
//使用function语句编织函数 function f(x){ return x; } //使用函数直接量直接生成函数 var f = function(x){ return x; } //使用Function()构造函数克隆函数 var f = new Function("x","return x;");
现在比较前两种定义函数方式的区别:
方式1 是典型的函数声明
方式2 是函数表达式
其主要区别在于:
1、函数声明需显示的指定函数名,这里是f 函数表达式则使用匿名函数
2、方式1在代码执行之前(解释器)被加载到作用域中,方式2则需在代码执行时(运行期)加载
下面一个例子说明他们的区别
alert(f1); //f1源码 alert(f2); //undefined function f1(){ var i = 10; } var f2 = function(){ var j = 10; } //如果放在函数声明之后 alert(f1); //f1源码 alert(f2); //f2源码
可以看到,第一次弹出的是f1源码,第二次却是undefined。即采用方式1定义函数,可以在该函数代码之上使用它,采用方式2定义函数则不能在其定义前使用,只能在其定义后使用。
相关文章推荐
- function方法Javascript中函数定义方法比较
- Javascript中函数定义方法比较
- Javascript中函数定义方法比较
- function方法Javascript中函数定义方法比较
- C++中定义比较函数的三种方法
- C++中定义比较函数的三种方法
- javascript中定义声明函数的三种方法
- javascript定义函数的三种方法
- javascript定义函数的方法
- javascript定义函数的三种方法
- JavaScript的各种常见函数定义方法
- JavaScript的各种常见函数定义方法
- javascript定义函数的方法
- JavaScript定义函数的三种实现方法
- 关于C++中定义比较函数的三种方法小结
- javascript、jQuery函数定义和调用方法
- JavaScript 函数定义方法
- javascript基础之两种函数的定义方法
- JavaScript中定义函数的三种方法
- javascript 在 构造器函数中定义方法 vs 在 prototype 中定义方法