a :function(){};和 function a(){};的区别 还有用法
3 回答
已采纳
易米八午
TA贡献3条经验 获得超2个赞
var a = function () {} // 函数表达式 function a () {} // 函数声明
一般定义函数就是上面那种方式了,你写的
a: function () {}
应该是方法名值对。
我讲一下函数表达式和函数声明的主要区别吧。
函数表达式没有函数提升,因为它是匿名函数。
a(); var a = function () {}
上面这段代码实际执行顺序为
var a; // undefined a(); a = function () {}
上面代码只会执行变量提升,所以会报错,因为执行a()时,a还不包含对函数的引用。
a(); function a () {}
上面这段代码实际执行顺序为
function a () {} a();
上面这个叫做函数提升。所以不会报错,会正常执行。
你的那个a: function () {}他应该是属于一个对象,a只是变量的一个属性(方法)而已,直接通过 变量名.方法 调用就行。它是绝对不存在提升的。调用之前需要先定义好。
如果感觉还可以,请采纳一下答案
JustWannaHugU
TA贡献452条经验 获得超796个赞
第一种用法是匿名函数的形式,第二种的形式是声明式函数。
a :function(){};相当于 var a = function(){};这种调用的时候直接用就行了
function a() {} ,function定义的是一个函数,a是函数名,{}里面属构造的方法。这种正常使用
添加回答
举报
0/150
提交
取消