最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談JavaScript中null和undefined

 更新時(shí)間:2015年07月09日 09:24:55   投稿:hebedich  
本文對(duì)比分析了javascript中的null和underfined的相同點(diǎn)和不同點(diǎn),算是一個(gè)小小的總結(jié),希望對(duì)大家學(xué)習(xí)javascript能夠有所幫助。

  先說null,它表示一個(gè)特殊值,常用來描述“空值”。對(duì)null執(zhí)行typeof運(yùn)算,結(jié)果返回字符串“object”,也就是說,可以將null認(rèn)為是一個(gè)特殊的對(duì)象值,含義是“非對(duì)象”(感覺怪怪的)。實(shí)際上,通常認(rèn)為null是它自有類型的唯一一個(gè)成員,它可以表示數(shù)字、字符串和對(duì)象是“無值”的。

  JavaScript還有第二個(gè)值來表示值的空缺,就是undefined啦,用未定義的值表示更深層次的“空值”。undefined出現(xiàn)有4種情況:①變量聲明但沒有初始化時(shí)②要查詢的對(duì)象屬性或數(shù)組的元素不存在時(shí)③如果函數(shù)沒有任何返回值,則返回undefined④引用沒有提供實(shí)參的函數(shù)形參的值也只會(huì)得到undefined。

  兩者相同點(diǎn):①正如前面所說,它們都是“假值”,也就是說JavaScript期望使用一個(gè)布爾值時(shí),它們都會(huì)被轉(zhuǎn)換成false;②它們兩個(gè)都不包含任何屬性和方法。

  兩者不同點(diǎn):①null是JavaScript語言的關(guān)鍵字,而undefined是JavaScript預(yù)定義的全局變量,不是關(guān)鍵字。并且,在ECMAScript 3中,undefined是可讀、可寫的變量,可以給它賦任何值,這個(gè)錯(cuò)誤在ECMAScript 5中做了修正,在該版本中undefined是只讀的(看到網(wǎng)上說現(xiàn)在的瀏覽器基本上都是支持ECMAScript 5了,不知道為什么我在瀏覽器中給undefined賦值沒有報(bào)錯(cuò),只是并沒有改變它的值);②執(zhí)行typeof運(yùn)算,null返回“object”字符串,undefined返回“undefined”字符串。

  至于把null和undefined做比較,null == undefined 返回true,null === undefined 返回false。可以認(rèn)為undefined是表示系統(tǒng)級(jí)的、出乎意料的或類似錯(cuò)誤的值的空缺,而null是表示程序級(jí)的、正常的或在意料之中的值的空缺。如果想把它們賦值給變量或?qū)傩曰蛘弋?dāng)做參數(shù)傳入函數(shù),最好選擇使用null。

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

相關(guān)文章

最新評(píng)論

大悟县| 聂荣县| 大足县| 锡林浩特市| 洱源县| 吉林省| 望都县| 古蔺县| 怀来县| 于都县| 瑞安市| 天门市| 科技| 陵川县| 荆门市| 大悟县| 公安县| 卢湾区| 屯留县| 青铜峡市| 罗平县| 尉犁县| 双峰县| 盐城市| 于田县| 荣成市| 于都县| 峨山| 射洪县| 治县。| 北辰区| 中牟县| 格尔木市| 郸城县| 达州市| 连城县| 江川县| 湾仔区| 灵石县| 长岭县| 酒泉市|