新聞中心
Javascript 中 null,NaN和undefined的區(qū)別
undefined 是未定義的值和定義未賦值,一般出現(xiàn)在對(duì)象屬性不存在或聲明了變量但從未賦值時(shí);
超過(guò)十余年行業(yè)經(jīng)驗(yàn),技術(shù)領(lǐng)先,服務(wù)至上的經(jīng)營(yíng)模式,全靠網(wǎng)絡(luò)和口碑獲得客戶,為自己降低成本,也就是為客戶降低成本。到目前業(yè)務(wù)范圍包括了:做網(wǎng)站、成都網(wǎng)站設(shè)計(jì),成都網(wǎng)站推廣,成都網(wǎng)站優(yōu)化,整體網(wǎng)絡(luò)托管,小程序制作,微信開(kāi)發(fā),APP應(yīng)用開(kāi)發(fā),同時(shí)也可以讓客戶的網(wǎng)站和網(wǎng)絡(luò)營(yíng)銷(xiāo)和我們一樣獲得訂單和生意!
null 是一種特殊的 object,包含“無(wú)值”或“無(wú)對(duì)象”。換句話說(shuō),該變量沒(méi)有保存有效的數(shù)、字符串、boolean、數(shù)組或?qū)ο螅?/p>
NaN 是一種特殊的 number,表示“非數(shù)字”(非數(shù)字的含義不僅僅是不是數(shù)字,也包括無(wú)理數(shù)和溢出數(shù)值)。
undefined 與 null 是值相等,但實(shí)際并不等(== 和 === 的區(qū)別);NaN 與任何值都不等,與自己也不想等。
關(guān)于Javascript中NaN的問(wèn)題
按照這樣子的一個(gè)思路來(lái)理解:
-Infinity 加 Infinity 無(wú)解,無(wú)法判斷誰(shuí)更大一些
-Infinity 加 -Infinity 更趨向于負(fù)無(wú)窮
Infinity 加 Infinity 更趨向于正無(wú)窮
Infinity 加 -Infinity 無(wú)解
var?y=-3.1415926666E3088;
y=y-1e292;
alert(y);?//?-Infinity
var?y=-3.1415926666E3088;
y=y-1e292;
alert(3E30000);?//?Infinity
alert(y-3E30000);?//?-Infinity?減?Infinity?為?-Infinity
var?y=-3.1415926666E3088;
y=y-1e292;
alert(y+3E30000);?//?-Infinity?加?Infinity?為?NaN
Javascript 中 null,NaN和undefined的區(qū)別總結(jié)
null 是指一個(gè)空白對(duì)象,即什么都沒(méi)有、什么都不存在
NaN是Not a Number(不是一個(gè)數(shù)字)的簡(jiǎn)稱(chēng),即變量或表達(dá)式的值不是數(shù)字或可轉(zhuǎn)化為數(shù)字的其他值
undefined的意思就是未定義、未聲明,任何未經(jīng)聲明的對(duì)象(如變量、函數(shù)等)都是undefined
javascript中NaN == NaN的返回值是?
NaN是一個(gè)值類(lèi)型,同是也是一個(gè)數(shù)值.意思是Not A Number,這個(gè)都知道是什么意思.值比較特殊,特殊在于NaN是一個(gè)數(shù)字,是一個(gè)與任何數(shù)值都不相等的數(shù)字.
javascript:alert(typeof(NaN));可以完全證實(shí),這是一個(gè)數(shù)字類(lèi)型的值.也就是說(shuō)NaN是當(dāng)時(shí)轉(zhuǎn)換時(shí)一種出錯(cuò)的策略,轉(zhuǎn)成一個(gè)誰(shuí)也不認(rèn)識(shí)的數(shù)字而已.從這個(gè)角度上理解它是一個(gè)數(shù)字,可以理解成數(shù)學(xué)中的無(wú)窮大或是無(wú)窮小.但與數(shù)學(xué)中一個(gè)理論是相悖的,我們常說(shuō),無(wú)窮大加1等于無(wú)窮大是錯(cuò)誤的.正是無(wú)空大加1不等于無(wú)窮大,所以無(wú)窮大也不等于它自己本身.所以數(shù)值NaN連自身都不會(huì)相等的.
而在javascript中NaN既然作為一個(gè)無(wú)窮大,那么它表示的就不再是一個(gè)值,而是一類(lèi)值,所以有時(shí)可視NaN是一個(gè)類(lèi)型.
正是這樣的邊緣問(wèn)題,可以導(dǎo)致作如下測(cè)試是正確的:
javascript:alert(NaN+1);結(jié)果是無(wú)窮大.
但唯一的是NaN是一個(gè)不確定數(shù),所以NaN不能等于NaN.
這好比是randomise中的random,random +1 還是一個(gè)不確定的數(shù)值,但random不會(huì)等于random一樣.兩者的區(qū)別在于random能生成一個(gè)確定數(shù),但本身不確定.而NaN生成的就是一個(gè)不確定數(shù).
javascript里面NaN到底是什么意思?
NaN 屬性是代表非數(shù)字值的特殊值。該屬性用于指示某個(gè)值不是數(shù)字。NaN和誰(shuí)都不相等,包括自己。
你的i==NaN也就是NaN==NaN,因?yàn)镹aN不等于任何值,所以i==NaN為false,則執(zhí)行第二句。
當(dāng)前題目:javascriptnan,JavaScript難點(diǎn)
URL地址:http://www.dlmjj.cn/article/dsdsdhd.html