• <tfoot id="ukgsw"><input id="ukgsw"></input></tfoot>
    
    • 久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
      分享

      js 判斷兩個變量是否相等

       昵稱15242507 2014-09-17

      判斷兩個變量是否相等是程序設計中非常重要的運算。在處理原始值時,這種運算相當簡單,但涉及對象,任務就稍有點復雜。

      ECMAScript 提供了兩套等性運算符:等號和非等號用于處理原始值,全等號和非全等號用于處理對象。

      等號和非等號

      在 ECMAScript 中,等號由雙等號(==)表示,當且僅當兩個運算數(shù)相等時,它返回 true。非等號由感嘆號加等號(!=)表示,當且僅當兩個運算數(shù)不相等時,它返回 true。為確定兩個運算數(shù)是否相等,這兩個運算符都會進行類型轉換。

      執(zhí)行類型轉換的規(guī)則如下:

      • 如果一個運算數(shù)是 Boolean 值,在檢查相等性之前,把它轉換成數(shù)字值。false 轉換成 0,true 為 1。
      • 如果一個運算數(shù)是字符串,另一個是數(shù)字,在檢查相等性之前,要嘗試把字符串轉換成數(shù)字。
      • 如果一個運算數(shù)是對象,另一個是字符串,在檢查相等性之前,要嘗試把對象轉換成字符串。
      • 如果一個運算數(shù)是對象,另一個是數(shù)字,在檢查相等性之前,要嘗試把對象轉換成數(shù)字。

      在比較時,該運算符還遵守下列規(guī)則:

      • 值 null 和 undefined 相等。
      • 在檢查相等性時,不能把 null 和 undefined 轉換成其他值。
      • 如果某個運算數(shù)是 NaN,等號將返回 false,非等號將返回 true。
      • 如果兩個運算數(shù)都是對象,那么比較的是它們的引用值。如果兩個運算數(shù)指向同一對象,那么等號返回 true,否則兩個運算數(shù)不等。

      重要提示:即使兩個數(shù)都是 NaN,等號仍然返回 false,因為根據(jù)規(guī)則,NaN 不等于 NaN。

      下表列出了一些特殊情況,以及它們的結果:

      表達式
      null == undefined true
      "NaN" == NaN false
      5 == NaN false
      NaN == NaN false
      NaN != NaN true
      false == 0 true
      true == 1 true
      true == 2 false
      undefined == 0 false
      null == 0 false
      "5" == 5 true

      全等號和非全等號

      等號和非等號的同類運算符是全等號和非全等號。這兩個運算符所做的與等號和非等號相同,只是它們在檢查相等性前,不執(zhí)行類型轉換。

      全等號由三個等號表示(===),只有在無需類型轉換運算數(shù)就相等的情況下,才返回 true。

      例如:

      var sNum = "66";
      var iNum = 66;
      alert(sNum == iNum);	//輸出 "true"
      alert(sNum === iNum);	//輸出 "false"
      

      在這段代碼中,第一個 alert 使用等號來比較字符串 "66" 和數(shù)字 66,輸出 "true"。如前所述,這是因為字符串 "66" 將被轉換成數(shù)字 66,,然后才與另一個數(shù)字 66 進行比較。第二個 alert 使用全等號在沒有類型轉換的情況下比較字符串和數(shù)字,當然,字符串不等于數(shù)字,所以輸出 "false"。

      非全等號由感嘆號加兩個等號(!==)表示,只有在無需類型轉換運算數(shù)不相等的情況下,才返回 true。

      例如:

      var sNum = "66";
      var iNum = 66;
      alert(sNum != iNum);	//輸出 "false"
      alert(sNum !== iNum);	//輸出 "true"
      

      這里,第一個 alert 使用非等號,把字符串 "66" 轉換成數(shù)字 66,使得它與第二個運算數(shù) 66 相等。因此,計算結果為 "false",因為兩個運算數(shù)是相等的。第二個 alert 使用的非全等號。該運算是在問:"sNum" 與 "iNum" 不同嗎?這個問題的答案是:是的(true),因為 sNum 是字符串,而 iNum 是數(shù)字,它們當然不同。

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多

        主站蜘蛛池模板: 国产曰批视频免费观看完| 久久国产成人午夜AV影院| 久久人搡人人玩人妻精品首页| 国产一区二区三区美女| 大香伊蕉在人线国产最新2005| 欧美牲交A欧美牲交| 国产一区二区四区不卡| 色婷婷亚洲精品综合影院| 免费av深夜在线观看| 中文字幕精品亚洲无线码二区| 男女爽爽无遮挡午夜视频| 久久不见久久见免费视频观看| 日本边添边摸边做边爱喷水| 狠狠色狠狠色综合久久蜜芽| 日韩人妻无码精品久久| 青青草国产线观看| 日韩av日韩av在线| 国产69囗曝吞精在线视频| 日本高清在线观看WWW色| 小妖精又紧又湿高潮H视频69 | 成人免费亚洲av在线| 色婷婷亚洲精品综合影院| 国偷自产一区二区三区在线视频 | 国产精品日日摸夜夜添夜夜添无码| 精品香蕉久久久午夜福利| 日韩V欧美V中文在线| 日本道精品一区二区三区| 我的公强要了我高潮在线观看| 国产熟睡乱子伦视频在线播放 | 亚洲国产日韩一区三区| 国产V亚洲V天堂A无码| 国产午夜亚洲精品不卡下载| 亚洲精品综合网二三区| 无码精品国产D在线观看| 日韩AV无码精品一二三区| 激情五月开心婷婷深爱| 久久99精品久久久久久9| 国产精品麻豆成人AV电影艾秋| 日本一高清二区视频久二区| 东方av四虎在线观看| 午夜久久久久久禁播电影|