當您使用括號()函數後,它就會立即執行。 而在這種情況下,您還沒有傳入任何參數。
它可以通過兩種方式。
var closureFunction = function(var1,var2){
var privateVar = var1+var2;
console.log("Sum of "+ var1 +" and "+ var2+"");
return function(){return privateVar;}
}(2,3); //prints 'Sum of 2 and 3'
console.log(closureFunction()); //prints '5'
或者你也可以在步驟
var closureFunction = function(var1){
return function(var2){
console.log("Sum of "+ var1 +" and "+ var2+"");
return var1 + var2;
}
}(2); //just return a 'closure' function
console.log(closureFunction(3)); //prints 'Sum of 2 and 3 5'
,或者您可以在以後執行它傳遞參數。
var closureFunction = function(var1){
return function(var2){
console.log("Sum of "+ var1 +" and "+ var2+"");
return var1 + var2;
}
};
var x = closureFunction(2); //return a 'closure' function
console.log(x(3)); //prints 'Sum of 2 and 3 5'
您沒有通過。 – Li357
如何傳遞參數? – Samy
不要立即調用它。 – Li357