有没有更优雅的方式来写这样的东西,其中 myFunction 被分配给函数 func 但 func 也在分配期间执行?
var myFunction = (function(){
var func = function(){
console.log('hello world');
};
func();
return func;
})();
...
myFunction();
有没有更优雅的方式来写这样的东西,其中 myFunction 被分配给函数 func 但 func 也在分配期间执行?
var myFunction = (function(){
var func = function(){
console.log('hello world');
};
func();
return func;
})();
...
myFunction();
var myFunction = (function func(){
console.log('hello world');
return func;
})();
您可以命名您的匿名函数。不过,这个名称只能在函数本身内部访问。
你的核心陈述是这个
var <name> = (<functionExpression>)();
我不明白这怎么能更优雅。
赋值表达式返回赋值,但你必须单独声明变量,所以你仍然需要重复标识符:
var outer;
(outer = function() {
var inner;
return (inner = function() {
print('hello world');
})(), inner;
})();
outer();
也就是说,如果我从同事那里看到这段代码,我会用卷起的报纸打他。