我有2個javascript代碼。他們之中檢查是否可變的變量等於空或變量的類型是未定義的。但在一種情況下,我得到錯誤,而在其他情況下,我沒有得到任何錯誤。JavaScript變量定義混淆
代碼1:
if (NS1 === null || typeof (NS1) === 'undefined') {
... }
代碼2:
if (window.NS1 === null || typeof (window.NS1) === 'undefined') {
... }
對於代碼1,我得到錯誤
NS1 is not defined
而對於代碼2我沒有得到任何錯誤。我不明白可能是什麼原因,因爲我還沒有定義NS1或window.NS1。所以我應該在這兩種情況下都會出錯。
'NS1 === null' ---你」重新嘗試檢索不存在的變量的值。 – zerkms
'typeof'不起作用。使用類似'typeof window.NS1' – Manwal
如果您將'typeof'檢查移至'||'的左側,由於短路評估,您將不會得到任何錯誤〜if( typeof of NS1 ==='undefined'|| NS1 === null)' – Phil