Javascript基礎(chǔ)_簡(jiǎn)單比較undefined和null 值
JavaScript 中有兩個(gè)特?cái)?shù)值: undefined和null,在比較它們的時(shí)候需要留心。在讀取未賦值的變量或試圖讀取對(duì)象沒有的屬性時(shí)得到的就是 undefined 值。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Learn4UndefinedAndNull</title>
</head>
<body>
<script>
var myData = {
name:"Luka",
weather:"sunny"
};
document.writeln("Prop: "+myData.doesntexits);
</script>
</body>
</html>
輸出結(jié)果:
Prop: undefined
Javascript 又定義了一個(gè)特殊值 null ,這個(gè)值與 undefined 略有不同。后者是在未定義值得情況下得到的值,而前者則用于表示已經(jīng)賦了一個(gè)值但該值不是一個(gè)有效的 object、string、number 或 boolean 值(也就是說所定義的是一個(gè)無值[no value])。
下面代碼先后使用 undefined 和 null 以展示其不同效果:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Learn4UndefinedAndNull</title>
</head>
<body>
<script>
var myData = {
name:"Luka"
};
//讀取 weather 屬性
document.writeln("Var: "+myData.weather+"<br />");
//判斷對(duì)象是否具有 weather 這個(gè)屬性
document.writeln("Prop: "+("weather" in myData)+"<br /><br />");
myData.weather = "sunny";
document.writeln("Var: "+myData.weather+"<br />");
document.writeln("Prop: "+("weather" in myData)+"<br /><br />");
myData.weather = null;
document.writeln("Var: "+myData.weather+"<br />");
document.writeln("Prop: "+("weather" in myData)+"<br /><br />");
</script>
</body>
</html>
輸出結(jié)果:
Var: undefined Prop: false Var: sunny Prop: true Var: null Prop: true
1. 檢查變量或?qū)傩允欠駷閡ndefined 或 null
如果想檢查某屬性是否為 null 或 undefined(不管是哪一個(gè)),那么只要使用 if 語句和邏輯非運(yùn)算符(!)即可。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Learn4UndefinedAndNull</title>
</head>
<body>
<script>
var myData = {
name:"Luka",
city:null
};
if(!myData.name){
document.writeln("name is null or undefined <br /><br />");
}else {
document.writeln("name is not null or undefined <br /><br />")
}
if(!myData.city){
document.writeln("city is null or undefined <br /><br />");
}else {
document.writeln("city is not null or undefined <br /><br />")
}
if(!myData.weather){
document.writeln("weather is null or undefined <br /><br />");
}else {
document.writeln("weather is not null or undefined <br /><br />")
}
</script>
</body>
</html>
輸出結(jié)果:
name is not null or undefined city is null or undefined weather is null or undefined
2. 區(qū)分 null 和 undefined
在比較兩個(gè)值時(shí),所用辦法應(yīng)視需要而定。如果想同等對(duì)待 undefined值和null值,那么應(yīng)該使用相等運(yùn)算符(==),讓 Javascript 進(jìn)行類型轉(zhuǎn)換。此時(shí)值為 undefined 的變量會(huì)被認(rèn)為與值為 null 的變量相等。如果要區(qū)分 null 和 undefined,則應(yīng)使用等同運(yùn)算符(===)。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Learn4UndefinedAndNull</title>
</head>
<body>
<script>
var firstVal = null;
var secondVal;
var equality = firstVal == secondVal;
var identity = firstVal === secondVal;
document.writeln("Equality: "+equality+" <br />");
document.writeln("Identity: "+identity+" <br />");
</script>
</body>
</html>
輸出結(jié)果:
Equality: true Identity: false
以上這篇Javascript基礎(chǔ)_簡(jiǎn)單比較undefined和null 值就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 處理JavaScript值為undefined的7個(gè)小技巧
- JavaScript undefined及null區(qū)別實(shí)例解析
- JavaScript中的null和undefined用法解析
- javascript中undefined的本質(zhì)解析
- JS在Chrome瀏覽器中showModalDialog函數(shù)返回值為undefined的解決方法
- Javascript類型系統(tǒng)之undefined和null淺析
- javascript類型系統(tǒng)——undefined和null全面了解
- JavaScript必知必會(huì)(二) null 和undefined
- 辨析JavaScript中的Undefined類型與null類型
- JavaScript之不可靠的undefined
相關(guān)文章
Javascript 按位與運(yùn)算符 (&)使用介紹
Javascript 按位與運(yùn)算符 (&),用于對(duì)兩個(gè) 32 位表達(dá)式執(zhí)行按位“與”運(yùn)算,而一般表達(dá)式里面都是十進(jìn)制整數(shù),此時(shí)需要先轉(zhuǎn)換成對(duì)應(yīng)的二進(jìn)制,然后向前加0,補(bǔ)足32位2014-02-02
用JS實(shí)現(xiàn)一個(gè)TreeMenu效果分享
用JS實(shí)現(xiàn)一個(gè)TreeMenu效果分享,思路比較簡(jiǎn)單,但很實(shí)用2011-08-08
基于js 字符串indexof與search方法的區(qū)別(詳解)
下面小編就為大家分享一篇基于js 字符串indexof與search方法的區(qū)別介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2017-12-12

