2012-07-16 54 views
-3

我看到有一個變量聲明現在最爲流行,這種聲明如何幫助我們?

的聲明是:

var object = object || {}; 

var array = array || []; 

var number = number || 20 

這樣這樣。我假設它正在使用捕捉數據。但這是這個唯一的用法嗎?還是有進一步的進步?否則我們需要通過這種方式來分解變量?任何人都可以解釋我?

+1

你的英語需要一點點工作。它主要是聲明一個具有預定義值的變量,或者作爲一個常量(它可能只是空的) – jeschafe 2012-07-16 05:19:11

回答

2

你這樣做,所以如果變量已經設置,它將採用其當前值,否則爲默認值。在您提供的示例中爲空對象,空數組或20。這樣,如果您嘗試使用不存在的變量,則代碼不會中斷。

5

它用於設置變量的默認值。

var object = object || {}; 

是相同

if (object) { 
    var object = object; 
} else { 
    var object = {}; 
} 
+0

typo:'var object = {};'而應該是'object = {};',否則範圍對象的確是有限的:) – 2012-07-16 05:23:29

+0

@AndreasNiedermair不一定。取決於他的範圍。如果尚未定義,則按照您的方式將其聲明爲全局變量。 – jeschafe 2012-07-16 05:24:57

+0

@ jeschafe是的,一定!否則範圍僅限於「if」塊... woha!所以它實際上不是'相同'... sry – 2012-07-16 05:25:55