簡體   English   中英

如何將匿名函數內的變量導出到JavaScript中的全局作用域?

[英]How can I export a variable inside of an anonymous function to the global scope in JavaScript?

我有這個代碼

((function(){
var a=2;
var b=3;
var c=b+a;
alert(c);//alert 5
})());
alert(c); //no alert

我的問題是我可以將哪些方式輸出到全球范圍? 如果你能給所有的方式。 謝謝!

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;

這很簡單! JavaScript中的所有全局變量實際上都是“窗口”對象的子屬性,因此在全局范圍添加中聲明變量會使該變量成為窗口對象的屬性。 從您的匿名函數中,您可以將“c”或其他變量放入全局范圍,只需執行以下操作即可...

window.c=b+a;
alert(c); // Same!

請享用 :)

var c=0;
((function(){
    var a=2;
    var b=3;
    c=b+a;
    alert(c);//alert 5
})());

alert(c); //no alert

 (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' 

您還可以傳入一些其他對象,這不僅限於一個。 是一個很好的解釋它是如何工作的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM