javascript匿名函数变量赋值

标签 javascript

可能不是有史以来最好的问题,但我对此有疑问。

这样写有什么区别吗:

var myFunction = function myFunction () {};
myFunction.instance = null;

还有这个:

var myFunction = function () {};
myFunction.instance = null;

编辑:请仔细阅读,这不是这个 var functionName = function() {} vs function functionName() {} 的副本 上面的链接解释了提升,这里是关于两个提升函数的分配,一个是匿名的,一个不是。

最佳答案

没有。没有区别1

在这两种情况下,都会创建一个函数对象(通过函数表达式),分配给一个变量,然后通过属性赋值进行变异。

唯一的区别是一个函数分配了一个名称,这可能很有用:请参阅 myFunction.namemyFunction.toString(),或访问 myFunction 来自 函数范围。由于它是一个函数表达式(与函数声明相反),因此名称与定义范围内的变量无关; 1旧版浏览器的注意事项在别处介绍。

关于javascript匿名函数变量赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34388899/

相关文章:

javascript - Nightwatch.js - 获取元素的标题并稍后进行比较

javascript - 用不同颜色突出显示的功能

javascript - 突出显示具有不同值的表列 td

javascript - 如何将 .each() 与 flickity 一起使用以仅影响事件的 flickity 实例

javascript - 为什么 D3 无法正确渲染 TopoJSON?

javascript - 使 html 文本字段中的占位符文本闪烁

javascript - 如何在Vue js中连接字符串和变量

javascript - 如何根据单击的项目获取模态框中的值

javascript - 尝试使用最接近的和 .find 函数拉表头字段

javascript - 将参数从速度传递给 javascript