1.類型分析:
js中的數據類型有undefined,boolean,number,string,object等5種,前4種爲原始類型,第5種爲引用類型。
var a1;
var a2 = true;
var a3 = 1;
var a4 = "Hello";
var a5 = new Object();
var a6 = null;
var a7 = NaN;
var a8 = undefined;
alert(typeof a); //顯示"undefined"
alert(typeof a1); //顯示"undefined"
alert(typeof a2); //顯示"boolean"
alert(typeof a3); //顯示"number"
alert(typeof a4); //顯示"string"
alert(typeof a5); //顯示"object"
alert(typeof a6); //顯示"object"
alert(typeof a7); //顯示"number"
alert(typeof a8); //顯示"undefined"
從上面的代碼中能夠看出未定義的值和定義未賦值的爲undefined,null是一種特殊的object,NaN是一種特殊的number。
2.比較運算
var a1; //a1的值爲undefined
var a2 = null;
var a3 = NaN;
alert(a1 == a2); //顯示"true"
alert(a1 != a2); //顯示"false"
alert(a1 == a3); //顯示"false"
alert(a1 != a3); //顯示"true"
alert(a2 == a3); //顯示"false"
alert(a2 != a3); //顯示"true"
alert(a3 == a3); //顯示"false"
alert(a3 != a3); //顯示"true"
從上面的代碼能夠得出結論:(1)undefined與null是相等;(2)NaN與任何值都不相等,與本身也不相等。
JavaScript undefined 屬性
定義和用法
undefined 屬性用於存放 JavaScript 的 undefined 值。
語法
undefined
說明
沒法使用 for/in 循環來枚舉 undefined 屬性,也不能用 delete 運算符來刪除它。
undefined 不是常量,能夠把它設置爲其餘值。
當嘗試讀取不存在的對象屬性時也會返回 undefined。
提示和註釋
提示:只能用 === 運算來測試某個值是不是未定義的,由於 == 運算符認爲 undefined 值等價於 null。
註釋:null 表示無值,而 undefined 表示一個未聲明的變量,或已聲明但沒有賦值的變量,或一個並不存在的對象屬性。
實例
在本例中,咱們將檢測兩個變量中未定義的一個:
<script type="text/javascript">
var t1=""
var t2
if (t1===undefined) {document.write("t1 is undefined")}
if (t2===undefined) {document.write("t2 is undefined")}
</script>
輸出:
t2 is undefined