Javascript基礎(chǔ)_簡單比較undefined和null 值
JavaScript 中有兩個(gè)特?cái)?shù)值: undefined和null,在比較它們的時(shí)候需要留心。在讀取未賦值的變量或試圖讀取對象沒有的屬性時(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 />");
//判斷對象是否具有 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)視需要而定。如果想同等對待 undefined值和null值,那么應(yīng)該使用相等運(yùn)算符(==),讓 Javascript 進(jìn)行類型轉(zhuǎn)換。此時(shí)值為 undefined 的變量會被認(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ǔ)_簡單比較undefined和null 值就是小編分享給大家的全部內(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必知必會(二) null 和undefined
- 辨析JavaScript中的Undefined類型與null類型
- JavaScript之不可靠的undefined
相關(guān)文章
有關(guān)JavaScript中call()和apply() 的一些理解
下面小編就為大家?guī)硪黄嘘P(guān)JavaScript中call()和apply() 的一些理解。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-05-05
關(guān)于uni-app頁面Page和組件Component生命周期執(zhí)行的先后順序
這篇文章主要介紹了關(guān)于uni-app頁面Page和組件Component生命周期執(zhí)行的先后順序,文中提供了具體的代碼,還不清楚的朋友可以來學(xué)習(xí)一下2023-04-04
JS中for循序中延遲加載動態(tài)效果的具體實(shí)現(xiàn)
今天在做一個(gè)前端的效果的時(shí)候碰到一個(gè)棘手的問題,就是實(shí)現(xiàn)一個(gè)動態(tài)的圓柱效果,廢話不多少,直接上代碼2013-08-08
前端?el-table?本地搜索的實(shí)現(xiàn)代碼
這篇文章主要介紹了前端?el-table?本地搜索的實(shí)現(xiàn)代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08

