Javascript 两种 function 定义的区别
2013-06-15 16:18
471 查看
大家都知道Javascript 有两个种定义Function的方法非常常用。例如
在javascript中任何函数都是Function的对象,一种我们叫做隐式创建,一种叫显示创建,
啥叫显示创建,就是写出来有个关键字NEW,(可以不算很科学的先这样理解)例如
注意里面的cs1,cs2..表示参数,而function-body表示函数体,利用函数对象变量名就可以调用该函数,可以这样调用test(cs1,cs2…),或者赋值给某个变量同样,可以用那个变量调用。
效果等同于我们的隐式创建
所以大家隐式对象的时候,一定要想着它是通过new 关键字创建的Function对象,
就可以输出函数体的代码
除此之外,通常情况下,我们还会使用无名函数来创建函数
效果等同于我们的显示创建,那么既然是创建的函数变量是对象,我们就可以给变量添加新的属性和方法,而在我们的js中方法就是特别的属性,这点需要注意
function a(){alert("a")} var a = function(){alert("a")}
在javascript中任何函数都是Function的对象,一种我们叫做隐式创建,一种叫显示创建,
啥叫显示创建,就是写出来有个关键字NEW,(可以不算很科学的先这样理解)例如
var test=new Function(cs1,cs2….csN,function-body)
注意里面的cs1,cs2..表示参数,而function-body表示函数体,利用函数对象变量名就可以调用该函数,可以这样调用test(cs1,cs2…),或者赋值给某个变量同样,可以用那个变量调用。
var test=new Function("cs1","cs2","alert(cs1+cs2)"); test(1,2);
效果等同于我们的隐式创建
function test(cs1,cs2) { alert(cs1+cs2); } test(1,2) // var test1=test; //test1(1,2);
所以大家隐式对象的时候,一定要想着它是通过new 关键字创建的Function对象,
alert(test.toString());
就可以输出函数体的代码
除此之外,通常情况下,我们还会使用无名函数来创建函数
var test=function(cs1,cs2) { alert(cs1+cs2); } test(1,2);
效果等同于我们的显示创建,那么既然是创建的函数变量是对象,我们就可以给变量添加新的属性和方法,而在我们的js中方法就是特别的属性,这点需要注意
test.love="i love php"; alert(test.love); test.php=function(msg) { alert(msg); } test.php("how to study php!");
相关文章推荐
- Javascript 两种 function 定义的区别
- javascript两种function的定义介绍及区别说明
- javascript两种function的定义介绍及区别说明
- javascript两种function的定义介绍及区别说明
- Javascript 两种 function 定义的本质区别
- javascript笔记:javascript里面不同function定义的区别
- javascript笔记:javascript里面不同function定义的区别
- 两种定义Function的方式 JavaScript
- javascript两种不同形式函数定义的区别
- Javascript 两种定义Function的方法
- JavaScript 中定义函数时用 var foo = function () {} 和 function foo() 的区别
- JavaScript 中,定义函数时用 var foo = function () {} 和 function foo() 有什么区别?
- JavaScript中(function(){…})(); 与 (function(){…}()); 这两种写法在意义上有什么区别?(转)
- Javascript 两种定义Function的方法
- javascript笔记:javascript里面不同function定义的区别
- javascript两种function的定义方式function a(){}和a=function(){}
- JavaScript 中定义函数用 var foo = function () {} 和 function foo()区别介绍
- 【JavaScript 学习--12】--js 中两种函数定义的区别:函数声明和函数表达式
- Javascript中两种方式定义函数的区别
- JavaScript中:表达式和语句的区别 —— function和对象直接量 不能匿名定义解惑