2014-12-19 31 views
0

我想設置一個全局的,如果它不存在。總noob問題。定義全局如果它不存在

我這樣做:

if (!raw) { 
    raw = 'yep'; 
} 

但它不斷拋出引用錯誤原料沒有定義。

+0

如果您收到參考錯誤,那麼您很可能在嚴格模式下運行。 – 2014-12-19 01:14:57

+2

nope,他得到參考錯誤,因爲他不檢查它的價值之前「參考」原料,如果你想測試一個有價值的,如果它存在,你將不得不使用「typeof raw =='undefined'」或窗口。生的 – Shiala 2014-12-19 02:01:22

回答

1

在全球範圍內增加:

var raw; 
2

這是一種方式,假設window存在:

if(!window.raw) { 
    raw = 'yup';  
} 

如果沒有,你可以只讓一個全局對象使用:

globals = {}; 

if(!globals.raw) { 
    globals.raw = 'yup'; 
}