我有這樣的代碼如何將匿名函數中的變量導出到JavaScript中的全局範圍中?
((function(){
var a=2;
var b=3;
var c=b+a;
alert(c);//alert 5
})());
alert(c); //no alert
我的問題是這方面我可以出口C到全球範圍內? 如果你可以給所有的方式。 謝謝!
我有這樣的代碼如何將匿名函數中的變量導出到JavaScript中的全局範圍中?
((function(){
var a=2;
var b=3;
var c=b+a;
alert(c);//alert 5
})());
alert(c); //no alert
我的問題是這方面我可以出口C到全球範圍內? 如果你可以給所有的方式。 謝謝!
var c = ((function(){
var a=2;
var b=3;
var c=b+a;
alert(c);//alert 5
return c;
})());
alert(c);
有很多種方法可以做到這一點。你可以或明或暗地做全局屬性賦值,以及:
window.c = b+a;
this.c = b+a;
c = b+a;
var c=0;
((function(){
var a=2;
var b=3;
c=b+a;
alert(c);//alert 5
})());
alert(c); //no alert
這很簡單! JavaScript中的所有全局變量實際上都是「窗口」對象的子屬性,因此在全局作用域中聲明一個變量將使該變量成爲窗口對象的一個屬性。從您的匿名功能,你可以把 'C',或其他變量爲一個全球範圍內簡單地通過執行以下操作...
window.c=b+a;
alert(c); // Same!
享受:)
(function (window) {
// this is local
var c = 'local';
// export to the global scope
window.c = c || '';
})(window); // Pass in a reference to the global window object
console.log(c) // => 'local'
您也可以傳遞其他幾個對象,這不僅僅限於一個。 Here是一個很好的解釋它如何工作