javascript
JavaScript数据类型 - Undefined类型
Undefined 類型
Undefined類型只有一個值,即特殊的undefined。在使用var聲明變量但未對其進行初始化時,這個變量的值就是undefined,例如:
var message; console.log(message); //undefinedvar message = undefined; console.log(message); //undefined在這個例子的第一段中,只聲明了變量message,但未對其進行初始化。所以在控制臺輸出時會得到一個undefined。而第二段代碼中我們使用了undefined值顯示的初始化了message變量,得到的結果仍然是undefined。但實際上我們沒必要這么做的,因為就像第一段代碼中,只要是未經初始化的變量默認都會取值undefined。
一般而言,不存在需要顯示地把一個變量設置為undefined值的情況。字面值undefined的主要目的是用于比較。不過包含undefined值的變量和尚未定義的變量還是不一樣的。看看下面這個例子:
?
運行上面的代碼,第一個console會打印輸出undefined,而第二個console則會產生錯誤,因為變量age根本就沒有聲明。對于尚未聲明過的變量,只能執行一項操作,就是用typeof檢查數據類型,這個時候是不會報錯的。
然而,令人困惑的是:對于已經聲明但未初始化的變量執行typeof操作會返回undefined值,而對尚未聲明的變量執行typeof操作,結果同樣返回undefined的值,看下面的例子:
var message; //聲明變量但未初始化 //var age; //未聲明的變量console.log(typeof message); //undefined console.log(typeof age); //undefined結果表明:對于聲明未初始化和未聲明的變量執行typeof操作都返回了undefined值;其實這個結果也有其邏輯上的合理性,因為雖然這兩種變量從技術角度看有著本質的區別,但是實際上無論對哪種變量都不可能執行真正的操作。
tips:
即便未初始化的變量會自動被賦予undefined值,但顯示的初始化變量依然是明智的選擇,也是墻裂推薦的選擇。因為如果能夠做到這一點,那么當typeof操作符返回undefined值時,我們就知道被檢測的變量還沒有被定義,而不是尚未初始化。
總結
以上是生活随笔為你收集整理的JavaScript数据类型 - Undefined类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MyBatis整合Spring的实现(1
- 下一篇: 01-探寻 JavaScript 反爬虫