猿问

您好,是关于JavaScript中的var functionName 的一些问题。如下所示!

举个例子
function add(a, b) 

return a+b;

alert(add(1,2));

var add=function(a, b) 

return a+b;

alert(add(1,2)); 
可否详细的解释一下这两者的区别和最佳的用法。

芜湖不芜
浏览 144回答 3
3回答

呼啦一阵风

个人理解:前者function可以定义在脚本的任意位置而直接调用,后者则必须在定义好了add这个变量后才能使用。$(function(){alert(add1(1,2));//结果是3alert(add2(1,2));//js报错var add2 = function(a,b){    return a+b;}alert(add2(1,2));//注掉前面那行报错的,结果是3})function add1(a,b){    return a+b;}

潇湘沐

function add(a, b)的意思是这个function的名字叫add带有(a,b)参数,var add=function(a, b)的意思是变量add是个匿名函数带有(a,b)参数。前者可看作function变量,可以new后者为变量 可以重新赋值。

忽然笑

就我看没什么区别,第二个相当与给匿名函数function(a,b){}取了别名,第一种方法一般用于自定义的函数定义以及类的方法定义,第二种的匿名函数的话一般就是obj.onclick=function(){}这种事件里,自己定义的函数的话推荐用第一种。
随时随地看视频慕课网APP

相关分类

Java
JavaScript
我要回答