2012-11-07 41 views
0

我此刻的調查three.js所,並在主源文件的頂部都碰到過這樣的變量聲明:使用||表示Javascript變量聲明

var THREE = THREE || { REVISION: '52' }; 

我只是想知道什麼是OR(||)在做那裏 - 它有什麼功能?

回答

4

上述手段:

如果THREE值的計算結果爲true,分配的THREETHREE變量的值,否則它初始化到對象{ REVISION: '52' }

+1

它測試,如果'THREE'評估爲真,不如果它被定義。 – Quentin

+0

@Quentin - 回覆更新 - 更好? – Oded

+0

是的,這是更好:) – Quentin

0

懶惰的實例化。如果該變量已被聲明,則爲其分配一個值。

1

在代碼中,它好象在說:

var THREE; 
if (THREE) { 
    THREE = { REVISION: '52' }; 
} 
else { 
    THREE = THREE; 
} 

或者:

var THREE = (THREE) ? { REVISION: '52' } : THREE; 
+0

如果'THREE'是'0'會怎麼樣? – Quentin

+0

@Quentin好點!希望我現在得到它(?)=) –