为什么`{foo:function myName(){}}`语法可以接受?

时间:2014-11-11 18:01:06

标签: javascript function

以下两个函数声明之间是否有不同的结果(范围等)?

var myObj = {
    foo: function myName() {}
}

var myObj = {
    foo: function() {}
} 

2 个答案:

答案 0 :(得分:2)

不,范围是一样的。在javascript中可以命名匿名函数,并且这样做是很好的,因为在调试它们时会在堆栈跟踪中命名。您也可以参考其内部的功能。更多详情here

答案 1 :(得分:1)

当您为该函数命名时,它只能从该函数内部获取

var myObj = {
   foo: function myName() {
        myName()
   }
}