十年專注于品牌網站建設 十余年專注于網站建設_小程序開發(fā)_APP開發(fā),低調、敢創(chuàng)新、有情懷!
      南昌百恒網絡微信公眾號 掃一掃關注
      小程序
      tel-icon全國服務熱線:400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡微信小程序

      百恒網絡

      南昌百恒網絡

      工程師結合實例詳細介紹ECMAScript加性操作符規(guī)則及應用

      百恒網絡 2012-02-15 5118

      ECMAScript 加性操作符(加法、減法)

      加性操作符

      加法和減法這兩個加性操作符應該說是編程語言中最簡單的算術操作符了。但是在ECMAScript中,這兩個操作符卻都有一系列的特殊行為。與乘性操作符類似,加性操作符也會在后臺轉換不同的數據類型。然而,對于加性操作符而言,相應的轉換規(guī)則還稍微有點復雜。

      1.加法

      加法操作符(+)的用法如下所示:

      var result=l+2:

      在此南昌網站建設公司前端開發(fā)工程師介紹,如果兩個操作符都是數值,執(zhí)行常規(guī)的加法計算,然后根據下列規(guī)則返回結果:

      ◎如果有一個操作數是NaN,則結果是NaN;

      ◎如果是Infinity加Infinity,則結果是Infinity;

      ◎如果是-Infinity加-Infinity,則結果是-Infinity;

      ◎如果是Infinity加-Infinity,則結果是NaN;

      ◎如果是+0加+0,則結果是+0;

      ◎如果是-0加-0,則結果是-0;

      ◎如果是+0加-0,則結果是+O。

      不過,南昌網頁設計公司工程師提示,如果有一個操作數是字符串,那么就要應用如下規(guī)則:

      ◎如果兩個操作數都是字符串,則將第二個操作數與第一個操作數拼接起來;

      ◎如果只有一個操作數是字符串,則將另一個操作數轉換為字符串,然后再將兩個字符串拼接起來。

      如果有一個操作數是對象、數值戎布爾值,則調用它們的toString()方法取得相應的字符串值,然后再應用前面關于字符串的規(guī)則。對于undefined和null,則分別調用String()函數并取得字符串”unde fined”和”null”。

      下面來舉幾個例子:

      var resultl=5+5j //兩個數值相加

      alert( resultl); // 10

      var result2=5+”5”; //一個數值和一個字符串相加

      alert(result2); // "55"

      以上代碼演示了加法操作符在兩種模式下的差別。第一行代碼演示了正常的情況,即5+5等于10(數值)。但是,如果將一個操作數改為字符串”5”,結果就變成了”55”(字符串值),因為第一個操作數也被轉換成了"5"。

      忽視加法操作中的數據類型是ECMAScript編程中最常見的一個錯誤。再來看一個例子:

      varnurril=5:

      var num2=10;

      var message="The sum of 5 and 10 is" + (num1+num2);

      alert (message); //"The sum of 5 and 10 is 510"

      在這個例子中,變量message的值是執(zhí)行兩個加法操作之后的結果。有人可能以為最后得剄的字符串是”The sum of 5 and 10 is 15”,南昌做網站公司技術員提示;但實際的結果卻是”The sum of 5 and 10 is 510”。之所以會這樣,是因為每個加法操作是獨立執(zhí)行的。第一個加法操作將一個字符串和一個數值(5)拼接了起來,結果是一個字符串。而第二個加法操作又用這個字符串去加另一個數值(10),當然也會得到一個字符串。如果想先對數值執(zhí)行算術計算,然后再將結果與字符串拼接起來,應該像下面這樣使用圓括號:

      var numl=5:

      var num2=10;

      alert (message); //"The sum of 5 and 10 is 15"

      在這個例子中,一對圓括號把兩個數值變量括在了一起,這樣就會告訴解析器先計算其結果,然后再將結果與字符串拼接起來。因此,就得到了結果”The sr_un。f 5 a_nd 10 is 15。

      2.減法

      減法操作符(一)是另一個極為常用的操作符,其用法如下所示:

      var result=2-1:

      在此南昌網站制作公司前端開發(fā)工程師總結,與加法操作符類似,ECMAScript中的減法操作符在處理各種數據類型轉換時,同樣需要遵循一些特殊規(guī)則,如下所示:

      ◎如果兩個操作符都是數值,則執(zhí)行常規(guī)的算術減法操作并返回結果;

      ◎如果有一個操作數是NaN,則結果是NaN;

      ◎如果是Infinity減Infinity,則結果是NaN;

      ◎如果是-Infinity減-Infinity,則結果是NaN;

      ◎如果是Infinity減-Infinity,則結果是Infinity;

      ◎如果是-Infinity減Infinity,則結果是-Infinity;

      ◎如果是+0減+0,則結果是+0;

      ◎如果是+0減-0,則結果是-0;

      ◎如果是-0減-0,則結果是+0;

      ◎如果有一個操作教是字符串、布爾值、null或undefined,則先在后臺調用Number()函數將其轉換為數值,然后再根據前面的規(guī)則執(zhí)行減法計算。如果轉換的結果是NaN,則減法的結果 就是NaN;

      ◎如果有一個操作數是對象,則調用對象的valueOf()方法以取得表示該對象的數值。如果得到的值是NaN,則減法的結果就是NaN。如果對象沒有valueOf()方法,則調用其toString() 方法并將得到的字符串轉換為數值。

      下面幾個例子展示了上面的規(guī)則:

      var resultl=5- true; //4,因為true被轉換成了l

      var result2=NaN -l; //NaN

      var result3=5-3; //2

      var result4=5-“”; //5,因為…-被轉換成了O

      var result5=5-“2”; //3,因為"2"被轉換成了2

      var result6=5- null; //5,因為null被轉換成了O

      希望本文對廣大站長或從事企業(yè)網站建設公司的團隊有所幫助,如對此不太理解的,可以與南昌網絡公司百恒網絡技術部聯(lián)系。我們很高興與廣大站長和從事企業(yè)網站建設公司技術人員分享我們的技術和經驗。


      400-680-9298,0791-88117053
      掃一掃關注百恒網絡微信公眾號
      掃一掃打開百恒網絡小程序

      歡迎您的光顧,我們將竭誠為您服務×

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務 售后服務
       
      售后服務 售后服務
       
      備案專線 備案專線
       
      ×
      国产精品白浆在线观看免费| 国产成人精品午夜福麻豆| 91国内揄拍国内精品情侣对白| 思思久久96热在精品国产| 日韩精品极品视频在线观看免费 | 日韩a无吗一区二区三区| 国色精品卡一卡2卡3卡4卡免费| 国产原创精品 正在播放| 日韩美女18网站久久精品| 亚洲日韩一页精品发布| 精品亚洲福利一区二区| 久久国产精品成人无码网站| www.国产精品.com| 精品国产无限资源免费观看| 久久久久亚洲精品日久生情| 日韩精品人妻系列无码专区| 久久精品免视看国产陈冠希| 日韩精品在线一区二区| 国内精品久久久久| 国产在线不卡午夜精品2021| 国产成人精品无码一区二区三区 | 91精品福利一区二区三区野战| 国产精品国产三级国产潘金莲| 狠狠入ady亚洲精品| 久久中文字幕精品| 成人三级精品视频在线观看| 国产成人亚洲精品| 国产成人精品久久二区二区| 亚洲日韩国产精品无码av| 精品国产污污免费网站aⅴ| 久久AV无码精品人妻糸列| 精品无码成人片一区二区98| 精品无码成人片一区二区98| 国产精品中文字幕在线观看| 国产成人精品日本亚洲专区6| 国产精品免费无遮挡无码永久视频| 亚洲?V无码乱码国产精品| 日韩精品无码人妻一区二区三区 | 亚洲国产精品一区二区第四页| 在线精品免费视频无码的| 日本一区二区三区精品视频 |