javascript權威指南 學習筆記之null和undefined
更新時間:2011年09月25日 23:01:59 作者:
JavaScript中的關鍵字null是一個特殊的值,它表示“無值”。null常常被看作對象類型的一個特殊值,即代表“無對象”的值。
復制代碼 代碼如下:
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>javascript之null和undefined</title>
</head>
<body>
<script type="text/javascript">
/**
******************null關鍵字********************
JavaScript中的關鍵字null是一個特殊的值,它表示“無值”。null常常被看作對象類型的一個特殊值,即代表“無對象”的值。
null是一個獨一無二的值,有別于其他所有的值。如果一個變量的值為null,那么就說明它的值不是有效的對象、數(shù)組、數(shù)字、字符串
和布爾值 中的 任何一種。
當null用于布爾環(huán)境時,它被自動轉換為false.當它用于一個數(shù)字環(huán)境時,它被自動轉換為數(shù)字0.當它用于一個字符串環(huán)境時,它
被自動轉換為"null".
*/
var $null = null;
//用于布爾環(huán)境
if($null){
document.write("當null用于布爾環(huán)境時,不轉換");
}else{
document.write("當null用于布爾環(huán)境時,它被自動轉換為false");//此句將被輸出
}
//用于數(shù)字環(huán)境
if(0 + $null == 0){
document.write("<br/>當null用于數(shù)字環(huán)境時,它被自動轉換為0");//此句將被輸出
}else{
document.write("<br/>當null用于數(shù)字環(huán)境時,不轉換");
}
//用于字符串環(huán)境
document.write("<br/>用于字符串環(huán)境:"+$null);//null
//null的typeof:object
document.write("<br/>$null的數(shù)據(jù)類型為:"+typeof $null);//object
/**
*****************undefined******************
undefined是一個特殊的值,它不是javascript中的關鍵字。以下幾種情況需要注意:
1.使用了已經(jīng)聲明但還沒有賦值的變量時
2.使用了一個并不存在的對象屬性時
以上二種情況,返回的都是undefined這個值。undefined值不同于null.
當未定義的值用于布爾環(huán)境時,它會自動轉換為false;
當它用于一個數(shù)字環(huán)境時,它會自動轉換為NaN;(NaN的解釋:NaN 屬性是代表非數(shù)字值的特殊值。該屬性用于指示某個值不是數(shù)字。
當它用于一個字符串環(huán)境時,它會自動轉換為"undefined";
*/
var $aaa;//聲明了,但沒有初始化。
var $bbb = "測試";//聲明了,并且初始化了。
var $obj = new Object();
document.write("<br/>$aaa的類型:"+typeof $aaa+"、$aaa的值:"+$aaa);//undefined、undefined
document.write("<br/>$bbb的類型:"+typeof $bbb+"、$bbb的值:"+$bbb);//string、測試
document.write("<br/>$obj的一個不存在的屬性myProp的類型:"+typeof $obj.myProp+"、$obj.myProp的值:"+$obj.myProp);//undefined、undefined
//document.write("<br/>輸出一個并未聲明的變量的值:"+$abc);//運行錯誤
/**
undefined 與 null的聯(lián)系
雖然undefined和null值不同,但是==運算符卻將兩者看作相等。
var obj = new Objec();
obj.prop == null //返回true
如果要嚴格區(qū)分undefiend和null,則需要用到====運算符或者typeof
var obj = new Objec();
obj.prop === null //返回false
typeof obj.prop //輸出undefined
typeof null //輸出object
*/
</script>
</body>
</html>
相關文章
jQuery+Ajax+PHP彈出層異步登錄效果(附源碼下載)
本文我們給大家介紹如何使用jQuery+Ajax+PHP彈出層異步登錄的應用。感興趣的朋友通過本文學習吧2016-05-05
jQuery實現(xiàn)為動態(tài)添加的元素綁定事件實例分析
這篇文章主要介紹了jQuery實現(xiàn)為動態(tài)添加的元素綁定事件,結合實例形式分析了jQuery常見的事件綁定相關操作技巧與注意事項,需要的朋友可以參考下2018-09-09
jquery中dom操作和事件的實例學習 仿yahoo郵箱登錄框的提示效果
最近把jquery中的dom操作和jquery中的事件和動畫的方法都大體測了一下。本來想細細的把每個方法都寫出來介紹下2011-11-11

