摘要:語言設(shè)計(jì)的不嚴(yán)謹(jǐn),有時(shí)候很容易把人給搞暈,比如說這個(gè)變量有效性判斷。表示沒有對(duì)象,即該處不應(yīng)該有值。作為對(duì)象原型鏈的終點(diǎn)。典型用法是變量被聲明了,但沒有賦值時(shí),就等于。實(shí)際上,中作為的條件的時(shí)候,都被認(rèn)為是。
JavaScript 語言設(shè)計(jì)的不嚴(yán)謹(jǐn),有時(shí)候很容易把人給搞暈,比如說這個(gè)變量有效性判斷。
先舉幾個(gè)例子:
想要理解為什么得出上面的結(jié)果,首先得明白 undefined 和 null 在 JavaScript 中所表示的不同含義。
這里借用下阮一峰老師博客中的一個(gè)結(jié)論:
null和undefined基本是同義的,只有一些細(xì)微的差別。
null表示"沒有對(duì)象",即該處不應(yīng)該有值。典型用法是:
(1) 作為函數(shù)的參數(shù),表示該函數(shù)的參數(shù)不是對(duì)象。
(2) 作為對(duì)象原型鏈的終點(diǎn)。undefined表示"缺少值",就是此處應(yīng)該有一個(gè)值,但是還沒有定義。典型用法是:
(1)變量被聲明了,但沒有賦值時(shí),就等于undefined。
(2) 調(diào)用函數(shù)時(shí),應(yīng)該提供的參數(shù)沒有提供,該參數(shù)等于undefined。
(3)對(duì)象沒有賦值的屬性,該屬性的值為undefined。
(4)函數(shù)沒有返回值時(shí),默認(rèn)返回undefined。
在 Java 中,if 條件中必須使用 boolean 表達(dá)式, 所以使用 JavaScript 時(shí),也會(huì)習(xí)慣性的認(rèn)為如此。實(shí)際上,JavaScript 中 null,undefined,0,"",false 作為 if 的條件的時(shí)候,都被認(rèn)為是 false 。
所以,在判斷變量時(shí),可以用以下幾種方式:
精確判斷一個(gè)變量是否為 undefined
精確判斷一個(gè)變量是否為 null
判斷一個(gè)變量是否為 null 或 undefined
判斷值是否有效, 可以直接在if表達(dá)式中使用變量名稱, 我常用來判斷一個(gè)輸入框值是否有效(注意: 如果變量值為0, 會(huì)被當(dāng)作無效)
掃描二維碼,關(guān)注我。
內(nèi)容大多會(huì)是后端技術(shù)、前端工程、DevOps,偶爾會(huì)有一些大數(shù)據(jù)相關(guān),會(huì)推薦一些好玩的東西。希望你會(huì)喜歡~
一切,源于喜歡。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/79245.html
摘要:值的比較只進(jìn)行值的比較會(huì)進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換。只要在當(dāng)前實(shí)例的原型鏈上,我們用其檢測出來的結(jié)果都是。但檢測與不一樣,還可以處理基本數(shù)據(jù)類型的檢測。 showImg(https://segmentfault.com/img/remote/1460000016733921); 一、JavaScript有幾種類型的值? Javascript有兩種數(shù)據(jù)類型,分別是基本數(shù)據(jù)類型和引用數(shù)據(jù)類型。其中...
摘要:值的比較只進(jìn)行值的比較會(huì)進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換。只要在當(dāng)前實(shí)例的原型鏈上,我們用其檢測出來的結(jié)果都是。但檢測與不一樣,還可以處理基本數(shù)據(jù)類型的檢測。 showImg(https://segmentfault.com/img/remote/1460000016733921); 一、JavaScript有幾種類型的值? Javascript有兩種數(shù)據(jù)類型,分別是基本數(shù)據(jù)類型和引用數(shù)據(jù)類型。其中...
摘要:值的比較只進(jìn)行值的比較會(huì)進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換。只要在當(dāng)前實(shí)例的原型鏈上,我們用其檢測出來的結(jié)果都是。但檢測與不一樣,還可以處理基本數(shù)據(jù)類型的檢測。 showImg(https://segmentfault.com/img/remote/1460000016733921); 一、JavaScript有幾種類型的值? Javascript有兩種數(shù)據(jù)類型,分別是基本數(shù)據(jù)類型和引用數(shù)據(jù)類型。其中...
摘要:中有五種基本數(shù)據(jù)類型,以及一種復(fù)雜引用類型數(shù)據(jù)類型,中還細(xì)分了很多具體的類型,比如等等中又新增了一種類型。類型的數(shù)值范圍是,超出這個(gè)范圍的值為,可以使用函數(shù)來判斷數(shù)值是否在范圍內(nèi)。 ECMAScript5中有五種基本數(shù)據(jù)類型:Undefined,Null,Boolean,Number,String,以及一種復(fù)雜(引用類型)數(shù)據(jù)類型:Object,Object中還細(xì)分了很多具體的類型,比...
閱讀 1496·2021-10-11 10:59
閱讀 1857·2021-09-09 11:36
閱讀 1370·2019-08-30 15:55
閱讀 1322·2019-08-29 11:20
閱讀 3057·2019-08-26 13:39
閱讀 1458·2019-08-26 13:37
閱讀 1951·2019-08-26 12:11
閱讀 1313·2019-08-23 14:28