可能不是最好的问题,但我在这里有疑问.
写这个有什么不同:
var myFunction = function myFunction () {}; myFunction.instance = null;
还有这个:
var myFunction = function () {}; myFunction.instance = null;
编辑:请仔细阅读,这不是这个var函数的复制函数=函数(){}与函数functionName(){} 上面的链接是解释吊装,这里是关于两个悬挂函数的分配,一个是匿名的,一个不是.
没有.没有区别1.
在这两种情况下,都会创建一个新的函数对象(通过函数表达式),分配给一个变量,然后通过属性赋值进行变异.
唯一的区别是一个功能具有分配一个名称,其可以证明是有用的:参见myFunction.name
,myFunction.toString()
或访问myFunction
从内的功能范围.由于它是一个函数表达式(与函数声明相对),因此该名称与定义范围中的变量无关; 传统浏览器的1个警告在其他地方有所涉及.