举个例子function add(a, b) { return a+b;} alert(add(1,2));与var add=function(a, b) { return a+b;} alert(add(1,2)); 可否详细的解释一下这两者的区别和最佳的用法。
3 回答
呼啦一阵风
TA贡献1802条经验 获得超6个赞
个人理解:前者function可以定义在脚本的任意位置而直接调用,后者则必须在定义好了add这个变量后才能使用。
$( function (){ alert(add1(1,2)); //结果是3 alert(add2(1,2)); //js报错 var add2 = function (a,b){ return a+b; } alert(add2(1,2)); //注掉前面那行报错的,结果是3 }) function add1(a,b){ return a+b; } |
潇湘沐
TA贡献1816条经验 获得超6个赞
function add(a, b)的意思是这个function的名字叫add带有(a,b)参数,var add=function(a, b)的意思是变量add是个匿名函数带有(a,b)参数。前者可看作function变量,可以new后者为变量 可以重新赋值。
忽然笑
TA贡献1806条经验 获得超5个赞
就我看没什么区别,第二个相当与给匿名函数function(a,b){}取了别名,第一种方法一般用于自定义的函数定义以及类的方法定义,第二种的匿名函数的话一般就是obj.onclick=function(){}这种事件里,自己定义的函数的话推荐用第一种。
添加回答
举报
0/150
提交
取消