一元加和減操作符
南昌網(wǎng)絡(luò)公司工程師相信絕大多數(shù)開發(fā)人員對(duì)一元加和減操作符都不會(huì)陌生 ,而且這兩個(gè)ECMAScript操作符的作用與數(shù)學(xué)書上講的完全一樣。一元加操作符以一個(gè)加號(hào) (+)表示,放在數(shù)值前面,對(duì)數(shù)值不會(huì)產(chǎn)生任何影響,如下面的例子所示:
var num=25;
num=+num; //仍然是25
不過,在對(duì)非數(shù)值應(yīng)用一元加操作符時(shí),該操作符會(huì)像Number()轉(zhuǎn)型函數(shù)一樣對(duì) 這個(gè)值執(zhí)行轉(zhuǎn)換。換句話說,布爾值false和true將被轉(zhuǎn)換為0和1,字符串值會(huì)被按照一組特殊的 規(guī)則進(jìn)行解析,而對(duì)象是先調(diào)用它們的valueOf()和(或)toString()方法,再轉(zhuǎn)換得到的值。
下面的例子展示了對(duì)不同數(shù)據(jù)類型應(yīng)用一元加操作符的結(jié)果:
var sl="01";
var s2="1.1";
var s3="z";
var b=false;
var f=1.1;
var o={
valueOf: function() {
return -1;
}
};
sl = +sl; //值變成數(shù)值1
s2 = +s2; //值變成數(shù)值1.1
s3 = +s3; //值交成NaN
b =+b; //值變成數(shù)值0
f =+f; //值未變,仍然是1.1
0 = +o; //值變成數(shù)值-1
一元操作符主要用于表示負(fù)數(shù),例如將1轉(zhuǎn)換成一l。下面的例子演示了這個(gè)簡 單的轉(zhuǎn)換過程:
var num = 25;
num = -num; //變成了一25
在將一元減操作符應(yīng)用于數(shù)值時(shí),該值會(huì)變成負(fù)數(shù)(如上面的例子所示)。 而當(dāng)應(yīng)用于非數(shù)值時(shí),一元var sl符"01"一元加操作符相同的規(guī)則,最后再將得到的數(shù)值轉(zhuǎn)換為 負(fù)數(shù),如下面的例子所示:
Var Sl="01";
var s2="1.1";
var s3="z";
var b=false;
var f=1.1;
var o={
valueOf: function() {
return -1;
}
};
sl =-sl; //值變成了數(shù)值一1
s2 =-s2; //值變成了數(shù)值-1.1
s3 =-s3; //值變成了NaN
b = -b; //值變成了數(shù)值0
f = -f; // 變成了-1.1
o = -o; //值變成了數(shù)值1
南昌網(wǎng)頁設(shè)計(jì)公司前端開發(fā)工程師總結(jié):一元加和減操作符主要用于基本的算 術(shù)運(yùn)算,也可以像前面示例所展示的一樣用于轉(zhuǎn)換數(shù)據(jù)類型.
希望本文對(duì)廣大站長或網(wǎng)站建設(shè)公司的團(tuán)隊(duì)有所幫助,如對(duì)此不太理解的,可 以與南昌網(wǎng)絡(luò)公司百恒網(wǎng)絡(luò)技術(shù)部聯(lián)系。我們很高與廣大站長和網(wǎng)站建設(shè)公司技術(shù)人員分享 我們的技術(shù)和經(jīng)驗(yàn)。