2016-09-25 63 views
0

总之, 什么JavaScript函数对象的差异

var MyModule = { 
    func: function() {} 
}; 

var MyModule = { 
    func: function f() {} 
}; 

我用第一种方式之间的差别内。但是当我看到角度文档时,通常是第二种方式。为什么,还有什么区别?

回答

1

这段代码的执行方式没有区别,但第二个版本可以帮助您进行调试。如果您在第一个版本中看到堆栈跟踪出现某些错误,您将看到有关某个匿名函数的信息,而在第二个版本中,您将看到函数名称。

ESLint对此约定有一个规则。你可以阅读它here

1

第一个有anonymous功能,第二个有named功能。

两者的工作原理都是一样的。这只是为了确保可读性。添加一个示例代码来演示两者。

var MyModule = { 
 
    func: function() { return 10} 
 
}; 
 

 
var MyModuleTwo = { 
 
    func: function f() { return 10} 
 
}; 
 

 
//both will return 10 
 
console.log(MyModule.func()) 
 
console.log(MyModuleTwo.func())