2016-01-18 139 views
0

在SCRIPTA變量我有這樣的代碼:JS:隱藏其他腳本

var John = 'Doe'; 

和scriptB:

alert(John); 

但我不希望這樣的2分腳本之間的變量共享,如何隱藏scriptB的John變量?提前致謝!

+4

http://stackoverflow.com/問題/ 500431/javascript-variables中的變量範圍 – Popnoodles

回答

0

您可以使用匿名函數來隱藏變量:

<script> 
    (function(){ 
     var John = 'Doe'; 
    })(); 
</script> 

類似的塊可以重複,但變量可以在該塊不同的價值:

<script> 
    (function(){ 
     var John = 'AnotherValue'; 
    })(); 
</script> 
0

你可以把他們的IIFE(立即調用函數表達式)像這裏面的「隱藏」的變量:

(function() { 
    // this variable is only accessible within this function block 
    var John = "Doe"; 
})(); 

// this causes an error because the variable John is not available outside the IIFE 
alert(John); 

這將創建立即執行專用功能範圍。這是用於聲明具有本地用途的變量的常見設計模式,但您不希望廣泛共享,並且您不希望污染全局名稱空間或與全局名稱空間發生衝突。

+0

非常感謝! – blobliebla