对于下面的示例代码,使用传统的命名函数和匿名函数执行相同的任务。
我已经阅读了var functionName = function() {} vs函数functionName() {},了解了第一个命名函数是如何在运行时定义的,而第二个匿名函数是如何在解析时为脚本块定义的。
我的问题是,哪一种方法比另一种更合适?
function get1() {
return 'Hello';
};
function alert1(data) {
alert(data);
};
var get2 = function() {
return 'Goodby';
};
var alert2 = function(data) {
alert(data);
};
alert1(get1());
alert2(get2());发布于 2014-02-11 16:01:02
在模块内部,我发现将定义的任何内部实用程序函数(如function logfoo和function logbar )放在返回语句下面,然后依赖于它们被悬挂起来,这样我就可以在返回语句中使用它们了。
var myModule = (function() {
return {
foo: function() {
logfoo();
},
bar: function() {
logbar();
}
}
function logfoo() {
console.log('foo');
}
function logbar() {
console.log('bar');
}
})();发布于 2014-02-11 16:00:52
不需要为匿名函数设置名称只是一件方便的事情,因为在大多数情况下,函数的名称并不重要。大多数情况下,匿名函数和命名函数都能很好地完成任何工作。
查看这篇好文章:这里
https://stackoverflow.com/questions/21706630
复制相似问题