什麼var myvar有什麼區別;和var myvar = null;?
var myvar;
和
var myvar = null;
之間的區別?
我剛看到這兩個毗鄰未來專業代碼,不知道這是怎麼一回事......
什麼var myvar有什麼區別;和var myvar = null;?
var myvar;
和
var myvar = null;
之間的區別?
我剛看到這兩個毗鄰未來專業代碼,不知道這是怎麼一回事......
一個創建myvar
(在當前範圍內),並分配沒有價值給它(離開它=== undefined
) 。
另一個也給它分配null
。
null
的賦值可能很重要,這取決於其他代碼如何與變量交互。 OTOH,可能是因爲缺乏對它意味着什麼的理解。
跟進:你可以設置一個變量爲未定義? – 2013-02-14 17:18:14
是的,你可以。 'undefined'是全局作用域的屬性,默認保持'undefined'原語。 – Quentin 2013-02-14 17:19:23
甜 - TYVM!我一直在暗示堅持! – 2013-02-14 17:20:41
我更喜歡使用var myvar = null;
爲什麼?
如果我正在檢查將來是否設置了該值,則表示它尚未設置,其中undefined表示在嘗試在代碼中的某處設置myvar
時可能存在錯誤。
下面有一些其他的意見,以及 - What reason is there to use null instead of undefined in JavaScript?
'undefined'表示尚未設置值;它基本上意味着「我不知道」,如果你沒有指定一個值,那就是你所得到的。 'null'表示值已設置,但明確設置爲空。至於不知道你的值是否被賦值......如果你知道某個錯誤是否阻止了設置值,那麼你可能會遇到太多的異常。 :P我從來沒有遇到過這樣的問題。 – cHao 2013-02-14 19:04:51
簡單地說:'VAR MYVAR;'只是聲明的變量,但變量仍是'undefined'。另一方面,'var myvar = null;'將'myvar'設置爲'null'。 – voithos 2013-02-14 17:15:50
['undefined'](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/undefined)和['null'](https://developer.mozilla.org/en- US/docs/JavaScript/Reference/Global_Objects/null)是不同的東西。 – VisioN 2013-02-14 17:18:14