我有一個回調函數調用array.forEach的功能,這將是更好的功能之外創建回調這樣這是更有效的方法來創建一個簡單的JavaScript回調?
foo=(function(){
var f=function(v){
//long function
};
return function(){
array.forEach(f);
};
}());
或者只是把它內聯這樣
function foo(){
array.forEach(function(v){
//long function
});
}
由於//long function
只能創建一次,或者被緩存了,或者在示例二中有些東西?
編輯:
當我嘗試 a=function() {return function(){};}
a()!==a()
但是當我做
a=(function() {
var a=function(){};
return function(){
return a;
};
}());
a()===a()
這是否意味着少使用兩個號碼創建的對象?
'f'只能創建一次。 –
我想如果你不需要在其他地方使用那個函數,你可以使用'inline'。但有時候我會在變量中提取它,因爲它會損壞縮進。 – Mritunjay
我知道f只創建一次,但實例2中的回調不止一次創建? –