有关于 function的问题

a :function(){};
和 function a(){};的区别 还有用法

weixin_慕勒4259824
浏览 1681回答 3
3回答

易米八午

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只是变量的一个属性(方法)而已,直接通过   变量名.方法   调用就行。它是绝对不存在提升的。调用之前需要先定义好。如果感觉还可以,请采纳一下答案

mingyec

简单的解释为上面的是函数表达式,在作用域里要调用该函数必须得在该函数表达式之后下面的是声明式,作用域里无论哪里都可以调用

JustWannaHugU

第一种用法是匿名函数的形式,第二种的形式是声明式函数。    a :function(){};相当于 var a = function(){};这种调用的时候直接用就行了function   a() {} ,function定义的是一个函数,a是函数名,{}里面属构造的方法。这种正常使用
打开App,查看更多内容
随时随地看视频慕课网APP