Javascript函数内部对象的不同

javascript function inside an object difference

本文关键字:内部对象 函数 Javascript      更新时间:2023-09-26

总之,

和 的区别是什么?
var MyModule = {
   func: function() {}
};

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

我过去常用第一种方法。但当我看到angular文档时,通常是第二种方式。为什么?有什么不同?

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

对于这个约定,ESLint有一个规则。你可以在这里阅读

第一个on具有anonymous函数,第二个on具有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())