Javascript: var myFunc = function() vs. var myFunc = functio
Javascript: var myFunc = function() vs. var myFunc = function myFunc()
它们之间有什么区别?
var myFunc = function() {
// ...
};
与。
var myFunc = function myFunc() {
// ...
};
在第二个示例中,arguments.callee.caller.name
起作用,但在第一个示例中不起作用。第二个语法有什么问题吗?
第二个有名称,而第一个没有。函数是具有属性name
的对象。如果函数是匿名的,则它没有名称。
var a = function(){}; // anonymous function expression
a.name; //= empty
var a = function foo(){}; // named function expression
a.name; //= foo
函数文字中的name
是可选的,如果像第一种情况一样被省略,则函数被称为匿名。
这来自Douglas Crockford的JavaScript:The Good Parts:
函数文字有四个部分。第一部分是保留字函数。可选的第二部分是函数的名称。函数可以使用其名称递归地调用自己。调试器和开发工具也可以使用该名称来识别函数。如果一个函数没有命名,如前一个示例所示,则称其为匿名。
第一个函数没有名称。
将函数赋给变量并不会为函数命名。
相关文章:
- 控制台返回var不是't定义,但它是
- 从var向代码隐藏函数传递值
- 如何通过引用var Using DataTables来进行分页或排序
- jQuery语法添加了var
- 如何将具有文本类型值的var放入jQuery函数中
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 当var==0时,我如何显示一个警报
- javascript中对象构造函数中的var属性与this.properties
- 函数中this和var之间的区别
- JavaScript-的含义:var DndUpload=函数(inputElem){};
- Understanding Javascript scope with "var that = this&qu
- 如何使用javascript var引用Mongo DB集合's字段
- var w = q||问2;这个表达式是什么意思
- 为什么JavaScript抛出'未捕获的ReferenceError:var未定义'定义var时
- 在jquery函数内部设置来自jquery函数的var;t运行
- 确定var是否是javascript中的elementFinder对象的方法是什么
- 如何使用var名称调用JSON数据
- '这'在使用之前分配给了一个var
- 更改json/javascript对象var名称或从数字var中检索值
- Javascript: var myFunc = function() vs. var myFunc = functio