为什么“{foo:function myName(){}}”语法是可接受的

Why is `{foo: function myName() {}}` acceptable syntax?

本文关键字:语法 可接受 foo function myName 为什么      更新时间:2023-09-26

以下两个函数声明之间是否存在不同的结果(作用域等)?

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

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

否,作用域相同。在javascript中,匿名函数可以被命名,这是一种很好的做法,因为在调试时,它们是在堆栈跟踪中命名的。你也可以参考函数本身。更多详细信息请点击此处。

当您为函数命名时,它只能从函数内部使用

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