日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

JavaScript的undefined

發(fā)布時(shí)間:2025/3/21 javascript 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript的undefined 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?我們知道,javascript是一種泛類型的語(yǔ)言。泛類型意味著不必顯式定義變量的數(shù)據(jù)類型。事實(shí)上,我們無(wú)法在 javascript 上明確地定義數(shù)據(jù)類型。而只能通過(guò)var語(yǔ)句顯示聲明變量:var myvar;

或這樣隱式聲明變量:myvar=myvarValue(省略var,在聲明的同時(shí)初始化)。

javascript有三種基本數(shù)據(jù)類型(字符串、數(shù)值、布爾 ),兩種引用數(shù)據(jù)類型(對(duì)象、數(shù)組)和兩種特殊數(shù)據(jù)類型(Null 、Undefined )。對(duì)于基本數(shù)據(jù)類型和引用數(shù)據(jù)類型我們很好理解。對(duì)于特殊數(shù)據(jù)類型Null和Undefined,常常會(huì)引起我們的一些疑惑。

在 Javascript 中數(shù)據(jù)類型 Null 只有一個(gè)值:null。如果一個(gè)變量的值為null ,那么表示該變量沒有保存有效的數(shù)、字符串、Boolean、數(shù)組或?qū)ο?#xff0c;null與vbscript中Empty的概念不相同(Empty指未初始化的變量值)。因此,我們可以通過(guò)給一個(gè)變量賦 null 值來(lái)清除變量的內(nèi)容。

考查下面的代碼:

function test1()
{
?var a=null;
?alert("typeof(a):"+typeof(a));
?alert("a==0:"+(a==0));
}

結(jié)果顯示:typeof(null)返回的對(duì)象類型為Object,而非類型null。這點(diǎn)潛在的混淆是為了向下兼容。同時(shí),在 Javascript 中,null 與 0 不相等。

如果已聲明了一個(gè)變量但還沒有初始化,那么該變量的值就是?undefined。這與vbscript中Empty的概念是相同的。

如下情況使返回 undefined 值:?
1、對(duì)象屬性不存在;
2、聲明了變量但從未賦值。

//注意:很多人常犯的一個(gè)錯(cuò)誤是:當(dāng)他定義一個(gè)變量的時(shí)候未初始化,想當(dāng)然地認(rèn)為該變量的默認(rèn)值為數(shù)字0字符串""。

我們?cè)趈avascript中如何判斷一個(gè)變量是否存在,可以使用如下方法:

function test2()
{
?var a;
?alert(typeof(a)==undefined);//false
?alert(typeof(a)=="undefined");//true
?alert(a==undefined);//true
}


//注意:我們可以通過(guò)與undefined做比較測(cè)試一個(gè)變量是否初始化,但不能通過(guò)與 undefined 做比較來(lái)測(cè)試一個(gè)變量是否存在,而只能通過(guò)typeof(variable)=="undefined"來(lái)判斷!

下面的例子將證明我的這一提示的正確性:

function test3()
{
?var a;
?//alert(b==undefined);//出現(xiàn)錯(cuò)誤:'b'未定義
?alert(typeof(b)=="undefined");//true?
}

undefined 值與null做比較,考查下面的代碼:

  • <script?type="text/javascript">?
  • ????function?myObject(prop1,prop2)?
  • ????{?
  • ?????this.prop1=prop1?
  • ?????this.prop2=prop2?
  • ????}?
  • ????var?myObj?=?new?myObject(null,"test")?
  • ????alert("myObject.prop1?==?null:"+(myObj.prop1==null))//true?
  • ????alert("myObj.prop1==undefined:"+(myObj.prop1==undefined))//true?
  • ????alert("myObj.prop2==undefined:"+(myObj.prop2==undefined))//false?
  • ????alert("myObj.prop3==undefined:"+(myObj.prop3==undefined))//true?
  • ?????
  • ????var?my?
  • ????for(prop?in?myObj){?
  • ????????my+=prop+","//my-->undefinedprop1,prop2,?
  • ????}?
  • ????alert("my-->"+my)?
  • ????alert("prop3?exists?:"+(("prop3"?in?myObj)?"YES":"NO"))//NO?
  • ?
  • </script>?
  • 總結(jié):undefined 值與null做比較,如下情況時(shí),比較的結(jié)果為?true:
    1、屬性 myObj.prop1 包含null 值;
    2、屬性 myObj.prop3 不存在。

    3、typeof(b)=="undefined" 不存在返回true,?存在但沒初始化也返回true啊?

  • <script?type="text/javascript">??
  • ???function?test1()??
  • ???{??
  • ????var?a=null;??
  • ????alert("typeof(a):"+typeof(a));//object??
  • ????alert("a==0:"+(a==0));//false??
  • ???}??
  • ???function?test2()??
  • ???{??
  • ????var?a;??
  • ????alert(typeof(a)==undefined);//false??
  • ????alert("1")??
  • ????alert(typeof(a)=="undefined");//true?沒有初始化??
  • ????alert("2")??
  • ????alert(a==undefined);//true?沒有初始化??
  • ????alert("3")??
  • ???}??
  • ???function?test3()??
  • ???{??
  • ????var?a;??
  • ???//?alert(b==undefined);//出現(xiàn)錯(cuò)誤:'b'未定義??b?is?not?defined??
  • ????alert(typeof(b)=="undefined");//true?只能通過(guò)typeof(variable)=="undefined"來(lái)判斷!??
  • ????//typeof(b)=="undefined"?但是在上面沒有初始化的時(shí)候也返回true。不存在返回true,??
  • ????//存在但沒初始化也返回true啊??
  • ????alert(typeof(a)=="undefined");//true???
  • ???}??
  • ???test1()??
  • ????
  • ????function?myObject(prop1,prop2)?
  • {?
  • ?this.prop1=prop1?
  • ?this.prop2=prop2?
  • }?
  • ????var?myObj?=?new?myObject(null,"test")?
  • ????alert("myObject.prop1?==?null:"+(myObj.prop1==null))//true?
  • ????alert("myObj.prop1==undefined:"+(myObj.prop1==undefined))//true?
  • ????alert("myObj.prop2==undefined:"+(myObj.prop2==undefined))//false?
  • ????alert("myObj.prop3==undefined:"+(myObj.prop3==undefined))//true?
  • ?
  • ????var?my?
  • ????for(prop?in?myObj){?
  • ????????my+=prop+","//my-->undefinedprop1,prop2,?
  • ????}?
  • ????alert("my-->"+my)?
  • ????alert("prop3?exists?:"+(("prop3"?in?myObj)?"YES":"NO"))//NO?
  • ?
  • /script>?
  • 轉(zhuǎn)載于:https://blog.51cto.com/2301703/1056764

    總結(jié)

    以上是生活随笔為你收集整理的JavaScript的undefined的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 337p日本欧洲亚洲大胆张筱雨 | 成人精品视频一区 | 国产字幕在线观看 | 国产大片中文字幕 | 人妖性生活视频 | 亚洲精品综合精品自拍 | 精品视频网 | 男人干女人视频 | av拍拍拍 | 国产我不卡 | 日韩精品视频一区二区在线观看 | 精品在线看 | 婷婷色激情 | 少妇紧身牛仔裤裤啪啪 | 国产剧情自拍 | 国产欧美第一页 | 日日夜夜精品免费视频 | 18禁肉肉无遮挡无码网站 | 亚洲av日韩av在线观看 | 欧美成人国产精品高潮 | 欧美日韩精品二区 | 黑人狂躁日本妞hd | jizz在线观看| 成人精品国产 | 五月天在线播放 | 日韩福利一区二区三区 | 日韩精品综合 | 天天狠天天插 | 久久久久亚洲AV成人网人人小说 | 潘金莲一级淫片a.aaaaa播放 | 大桥未久av一区二区三区中文 | a色视频 | 日批黄色片 | 一区二区三区不卡在线 | 日韩免费二区 | 成人av播放 | 蜜臀久久精品 | 亚洲13p | 777视频在线观看 | 日本欧美一级 | 国产免费一区二区三区三州老师 | 久久久精品美女 | 亚洲av永久无码国产精品久久 | 人妖和人妖互交性xxxx视频 | 超碰在线香蕉 | 亚洲日本成人在线观看 | 国产三级在线观看视频 | 大学生av| 日本高清不卡在线 | 亚洲av综合一区二区 | 毛利兰被扒开腿做同人漫画 | 国产乱码精品一区二区三区中文 | 国产六区 | 成人短视频在线播放 | 精品国产乱码久久久久久88av | 男男车车的车车网站w98免费 | 国产伦理一区二区 | 99欧美精品 | 国产在线视频卡一卡二 | 久久精品视 | 亚洲综合丁香 | 亚洲高清二区 | 农村少妇无套内谢粗又长 | 伊人影院在线播放 | 日韩黄大片| 青青草成人影视 | 久久99久久99精品免视看婷婷 | 一级特级黄色片 | sese视频在线观看 | 女生被男生c | 打屁股外国网站 | 国产黄色特级片 | a天堂亚洲| 国产精品无码自拍 | 在线免费看a | 中文字幕 视频一区 | av天堂永久资源网 | 天堂网中文在线观看 | 天天搞夜夜爽 | 蜜臀久久99静品久久久久久 | 性爱免费在线视频 | 粉嫩小箩莉奶水四溅在线观看 | 欧美色图国产精品 | 超碰午夜| 久久久久视 | 亚洲iv一区二区三区 | 国产精品国产一区二区三区四区 | 老牛影视一区二区三区 | 欧美日韩在线视频一区 | 超碰2023 | 91网站免费在线观看 | 玖玖玖视频| 干欧美少妇 | 欧美日韩在线一区二区 | 欧美天天性影院 | 免费看黄色片视频 | 操人视频免费看 | 8090av| 日韩 欧美 亚洲 |