我在javascript中具有自調用函數,並且在同一個文件中我需要自調用函數內部的變量的值。我怎樣才能做到這一點?在自調用函數外部獲取變量和數組的值
編輯:所以我可以得到一個變量,但如何更多的變量或數組? 我在開始時也有一個分號,如何處理它: ;(function(){ ... })();
我在javascript中具有自調用函數,並且在同一個文件中我需要自調用函數內部的變量的值。我怎樣才能做到這一點?在自調用函數外部獲取變量和數組的值
編輯:所以我可以得到一個變量,但如何更多的變量或數組? 我在開始時也有一個分號,如何處理它: ;(function(){ ... })();
不是簡單的功能,但之前定義的變量:
var a = 1;
(function(){ /* do stuff and use a*/})();
function(){
// use a again
}
var x = (function(y) { return y + 2; })(2);
alert(x);
工作就像這樣:
function addTwo(y) { return y + 2; }
x = addTwo(2);
您需要將其設置爲回報的一部分。根據您的具體模式可能去像
var app =(function(){
var x = 5;
function app() {
}
app.x = x;
return app;
})();
//Your self invoking func
(function(){
var getStuff = holdsStuff();
console.log(getStuff.a); //getStuff.b, getStuff.cArr etc;
})();
//func in same file that holds the vars that you need.
function holdsStuff(){
var a = 10;
var b = 15;
var cArr = [1,2,3,4,5];
return { a: a, b: b, cArr: cArr};
}
爲什麼'app'被定義爲在這個例子中的函數嗎?爲什麼不只是一個對象? (例如'return {x:x};' – Ajedi32
因爲使用這個模式,app是構造函數,因此,「取決於你的確切模式」。 –