Javascript中的0,false,null,undefined,空字符串对比
生活随笔
收集整理的這篇文章主要介紹了
Javascript中的0,false,null,undefined,空字符串对比
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
先看一段代碼:
<script type="text/javascript">alert(typeof (false) === "boolean"); //truealert(typeof (0) === "number"); //truealert(typeof ("") === "string"); //truealert(typeof (null) === "object"); //truealert(typeof (undefined)=== "undefined"); //true </script> 上面這段代碼中:false 、0、空字符串、null、undefined依次指待的是:布爾值,數(shù)值,字符串,對(duì)象,undefined類型。
所以0,false,null,undefined,空字符串都不是指待的同一個(gè)概念,不要弄混。
下面我們使用ECMAScript 等性運(yùn)算符?來(lái)做一下運(yùn)算判斷。
從上面的結(jié)果可以得出0只能代表數(shù)字,字符串和布爾值。不能用來(lái)代替對(duì)象和undefined。不過(guò)在判斷字符串的時(shí)候可以通過(guò)字符串的長(zhǎng)度來(lái)判斷,把字符串轉(zhuǎn)換為number。
null和undefined其實(shí)兩個(gè)都是對(duì)象。undefined表示無(wú)效對(duì)象,null表示空對(duì)象。如果變量顯式或者隱式(由Javascript引擎進(jìn)行賦值)地被賦予了undefined,那么代表了此變量未被定義,如果被賦予null值,則代表此變量被初始化為空值。
<script type="text/javascript">var a;alert(a);//undefined </script> 其實(shí)變量如果聲明了但是沒(méi)有初始化,那么Javascript引擎會(huì)將此變量自動(dòng)指向undefined對(duì)象。就像上面那段代碼一樣。
最后希望這份手記能夠給你帶來(lái)方便。
轉(zhuǎn)載于:https://my.oschina.net/websec/blog/156478
總結(jié)
以上是生活随笔為你收集整理的Javascript中的0,false,null,undefined,空字符串对比的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 最近项目上Makefile的小Bug
- 下一篇: 自定义logback触发器策略进行日志滚