2012-11-08 45 views

回答

4
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; 
0
var c=0; 
((function(){ 
    var a=2; 
    var b=3; 
    c=b+a; 
    alert(c);//alert 5 
})()); 

alert(c); //no alert 
1

這很簡單! JavaScript中的所有全局變量實際上都是「窗口」對象的子屬性,因此在全局作用域中聲明一個變量將使該變量成爲窗口對象的一個​​屬性。從您的匿名功能,你可以把 'C',或其他變量爲一個全球範圍內簡單地通過執行以下操作...

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

享受:)

0

(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是一個很好的解釋它如何工作

相關問題