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

      百恒網(wǎng)絡(luò)

      南昌百恒網(wǎng)絡(luò)

      工程師結(jié)合實(shí)例詳細(xì)介紹ECMAScript加性操作符規(guī)則及應(yīng)用

      百恒網(wǎng)絡(luò) 2012-02-15 5117

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

      加性操作符

      加法和減法這兩個(gè)加性操作符應(yīng)該說(shuō)是編程語(yǔ)言中最簡(jiǎn)單的算術(shù)操作符了。但是在ECMAScript中,這兩個(gè)操作符卻都有一系列的特殊行為。與乘性操作符類似,加性操作符也會(huì)在后臺(tái)轉(zhuǎn)換不同的數(shù)據(jù)類型。然而,對(duì)于加性操作符而言,相應(yīng)的轉(zhuǎn)換規(guī)則還稍微有點(diǎn)復(fù)雜。

      1.加法

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

      var result=l+2:

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

      ◎如果有一個(gè)操作數(shù)是NaN,則結(jié)果是NaN;

      ◎如果是Infinity加Infinity,則結(jié)果是Infinity;

      ◎如果是-Infinity加-Infinity,則結(jié)果是-Infinity;

      ◎如果是Infinity加-Infinity,則結(jié)果是NaN;

      ◎如果是+0加+0,則結(jié)果是+0;

      ◎如果是-0加-0,則結(jié)果是-0;

      ◎如果是+0加-0,則結(jié)果是+O。

      不過(guò),南昌網(wǎng)頁(yè)設(shè)計(jì)公司工程師提示,如果有一個(gè)操作數(shù)是字符串,那么就要應(yīng)用如下規(guī)則:

      ◎如果兩個(gè)操作數(shù)都是字符串,則將第二個(gè)操作數(shù)與第一個(gè)操作數(shù)拼接起來(lái);

      ◎如果只有一個(gè)操作數(shù)是字符串,則將另一個(gè)操作數(shù)轉(zhuǎn)換為字符串,然后再將兩個(gè)字符串拼接起來(lái)。

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

      下面來(lái)舉幾個(gè)例子:

      var resultl=5+5j //兩個(gè)數(shù)值相加

      alert( resultl); // 10

      var result2=5+”5”; //一個(gè)數(shù)值和一個(gè)字符串相加

      alert(result2); // "55"

      以上代碼演示了加法操作符在兩種模式下的差別。第一行代碼演示了正常的情況,即5+5等于10(數(shù)值)。但是,如果將一個(gè)操作數(shù)改為字符串”5”,結(jié)果就變成了”55”(字符串值),因?yàn)榈谝粋€(gè)操作數(shù)也被轉(zhuǎn)換成了"5"。

      忽視加法操作中的數(shù)據(jù)類型是ECMAScript編程中最常見的一個(gè)錯(cuò)誤。再來(lái)看一個(gè)例子:

      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"

      在這個(gè)例子中,變量message的值是執(zhí)行兩個(gè)加法操作之后的結(jié)果。有人可能以為最后得剄的字符串是”The sum of 5 and 10 is 15”,南昌做網(wǎng)站公司技術(shù)員提示;但實(shí)際的結(jié)果卻是”The sum of 5 and 10 is 510”。之所以會(huì)這樣,是因?yàn)槊總€(gè)加法操作是獨(dú)立執(zhí)行的。第一個(gè)加法操作將一個(gè)字符串和一個(gè)數(shù)值(5)拼接了起來(lái),結(jié)果是一個(gè)字符串。而第二個(gè)加法操作又用這個(gè)字符串去加另一個(gè)數(shù)值(10),當(dāng)然也會(huì)得到一個(gè)字符串。如果想先對(duì)數(shù)值執(zhí)行算術(shù)計(jì)算,然后再將結(jié)果與字符串拼接起來(lái),應(yīng)該像下面這樣使用圓括號(hào):

      var numl=5:

      var num2=10;

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

      在這個(gè)例子中,一對(duì)圓括號(hào)把兩個(gè)數(shù)值變量括在了一起,這樣就會(huì)告訴解析器先計(jì)算其結(jié)果,然后再將結(jié)果與字符串拼接起來(lái)。因此,就得到了結(jié)果”The sr_un。f 5 a_nd 10 is 15。

      2.減法

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

      var result=2-1:

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

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

      ◎如果有一個(gè)操作數(shù)是NaN,則結(jié)果是NaN;

      ◎如果是Infinity減Infinity,則結(jié)果是NaN;

      ◎如果是-Infinity減-Infinity,則結(jié)果是NaN;

      ◎如果是Infinity減-Infinity,則結(jié)果是Infinity;

      ◎如果是-Infinity減Infinity,則結(jié)果是-Infinity;

      ◎如果是+0減+0,則結(jié)果是+0;

      ◎如果是+0減-0,則結(jié)果是-0;

      ◎如果是-0減-0,則結(jié)果是+0;

      ◎如果有一個(gè)操作教是字符串、布爾值、null或undefined,則先在后臺(tái)調(diào)用Number()函數(shù)將其轉(zhuǎn)換為數(shù)值,然后再根據(jù)前面的規(guī)則執(zhí)行減法計(jì)算。如果轉(zhuǎn)換的結(jié)果是NaN,則減法的結(jié)果 就是NaN;

      ◎如果有一個(gè)操作數(shù)是對(duì)象,則調(diào)用對(duì)象的valueOf()方法以取得表示該對(duì)象的數(shù)值。如果得到的值是NaN,則減法的結(jié)果就是NaN。如果對(duì)象沒有valueOf()方法,則調(diào)用其toString() 方法并將得到的字符串轉(zhuǎn)換為數(shù)值。

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

      var resultl=5- true; //4,因?yàn)閠rue被轉(zhuǎn)換成了l

      var result2=NaN -l; //NaN

      var result3=5-3; //2

      var result4=5-“”; //5,因?yàn)椤?被轉(zhuǎn)換成了O

      var result5=5-“2”; //3,因?yàn)?2"被轉(zhuǎn)換成了2

      var result6=5- null; //5,因?yàn)閚ull被轉(zhuǎn)換成了O

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


      400-680-9298,0791-88117053
      掃一掃關(guān)注百恒網(wǎng)絡(luò)微信公眾號(hào)
      掃一掃打開百恒網(wǎng)絡(luò)小程序

      歡迎您的光顧,我們將竭誠(chéng)為您服務(wù)×

      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售前咨詢 售前咨詢
       
      售后服務(wù) 售后服務(wù)
       
      售后服務(wù) 售后服務(wù)
       
      備案專線 備案專線
       
      ×
      日韩在线观看高清视频| 日产精品卡一卡二卡三的概述| 久久精品国产亚洲Aⅴ蜜臀色欲| 日韩精品视频在线观看免费| 日本精品一区二区在线播放| 国产精品色内内在线播放| 国产精品无码DVD在线观看| 日韩在线视频网址| 日韩精品无码免费专区午夜| 国产精品亚洲专区无码不卡| 精品国产一区二区三区av片| 日韩精品无码一区二区三区不卡| 日韩综合在线视频| 国产亚洲Av综合人人澡精品| 国产精品高清尿小便嘘嘘| 精品人妻少妇一区二区三区不卡 | 人妻少妇精品无码专区动漫| 国产精品va一级二级三级| 91久久精品国产成人久久| 78成人精品电影在线播放| 久久99精品久久久久久久久久| 香蕉久久夜色精品升级完成| 亚洲国产精品无码久久一线| 久久国产乱子伦精品免费强| 国产精品亚韩精品无码a在线| 亚洲欧洲成人精品香蕉网| 大陆精大陆国产国语精品| 亚洲人成精品久久久久| 中文字幕久久精品无码| 曰韩精品无码一区二区三区| 国内精品一线二线三线黄| 国产国拍精品亚洲AV片| 亚洲精品无码成人片久久| 国产精品污WWW在线观看| 国产精品第12页| 四虎国产成人永久精品免费| 亚洲国产精品自在在线观看 | 2020国产精品永久在线观看| 精品一久久香蕉国产线看播放| jiucao在线观看精品| 亚洲婷婷国产精品电影人久久|