欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript中常用的運(yùn)算符小結(jié)

 更新時(shí)間:2012年01月18日 00:52:04   作者:  
JavaScript中常用的運(yùn)算符小結(jié),需要的朋友可以參考下。
一、一元運(yùn)算符
1、delete 運(yùn)算符:刪除對(duì)以前定義的對(duì)象屬性或方法的引用。例如:
var o=new Object;
o.name="superman";
alert(o.name); //輸出 "superman"
delete o.name;
alert(o.name); //輸出 "undefined"
刪除了name屬性,將其設(shè)置為undefined(即創(chuàng)建的未初始化的變量的值)。delete不能刪除開發(fā)者未定義(即ECMAScript定義)的屬性和方法。
例如,下面的代碼將發(fā)生錯(cuò)誤:delete o.toString();
2、void 運(yùn)算符: 對(duì)任何值都返回undefined。該運(yùn)算符通常用于避免輸出不應(yīng)該輸出的值。
例如:在HTML頁(yè)面中 <a href="javascript:window.open('about:blank')">Click Me</a>
點(diǎn)擊該鏈接,網(wǎng)頁(yè)中的鏈接消失,顯示"[object]" (IE中,火狐中顯示"[object Window]",Google中還是該鏈接)。因?yàn)閣indow.open()方法返回了對(duì)新打開的窗口的引用。然后該對(duì)象被轉(zhuǎn)換成要顯示的字符串。要避免這種結(jié)果,可以用 void 運(yùn)算符調(diào)用 window.open() 函數(shù):
<a href="javascript:void(window.open('about:blank'))">Click Me</a>
這使window.open()調(diào)用返回undefined,它不是有效值,不會(huì)顯示在瀏覽器窗口中。
3、前增量/前減量運(yùn)算符:與C中的用法一樣。運(yùn)算都發(fā)生在計(jì)算表達(dá)式之前。如:++i; --i 。
4、后增量/后減量運(yùn)算符:后綴式運(yùn)算符是在計(jì)算過包含它們的表達(dá)式后才進(jìn)行增量或減量運(yùn)算。如:i++; i-- 。
5、一元加法和一元減法
一元加法本質(zhì)上對(duì)數(shù)字無任何影響: var iNum=25; iNum=+iNum; alert(iNum); //輸出25
一元加法運(yùn)算符對(duì)對(duì)字符串進(jìn)行操作時(shí),它計(jì)算字符串的方式與 parseInt() 相似,主要的不同是對(duì)以"0x"開頭的字符串(表示十六進(jìn)制數(shù)字),一元運(yùn)算符才能將它轉(zhuǎn)換成十進(jìn)制的值。因此,用一元加法轉(zhuǎn)換"010",得到的總是10,而"0xB"將被轉(zhuǎn)換成11。
var sNum="25"; alert(typeof sNum); //輸出 "string"
var iNum=+sNum; alert(typeof iNum); //輸出 "number"
一元減法就是對(duì)數(shù)值求負(fù),與一元加法運(yùn)算符相似,一元減法運(yùn)算符也會(huì)把字符串轉(zhuǎn)換成近似的數(shù)字,此外還會(huì)對(duì)該值求負(fù)。
var sNum = "25"; alert(typeof sNum); //輸出 "string"
var iNum = -sNum; alert(iNum); //輸出"-25"
alert(typeof iNum); //輸出 "number"
二、位運(yùn)算符:與二進(jìn)制有關(guān)的一系列運(yùn)算符,實(shí)際操作中貌似不怎么用,就略過了……
位運(yùn)算符NOT由否定號(hào)(~)表示。
位運(yùn)算符AND由和號(hào)(&)表示。
位運(yùn)算符OR由符號(hào)(|)表示。
位運(yùn)算符XOR由符號(hào)(^)表示。
左移運(yùn)算由兩個(gè)小于號(hào)表示(<<)。
有符號(hào)右移運(yùn)算符由兩個(gè)大于號(hào)(>>)表示。
無符號(hào)右移由三個(gè)大于號(hào)(>>>)表示。
三、Boolean運(yùn)算符
Boolean運(yùn)算符有三種,即NOT、AND 和 OR。
1、邏輯NOT,用感嘆號(hào)(!)表示。該運(yùn)算符通常用于控制循環(huán)。與邏輯OR和邏輯AND運(yùn)算符不同的是,邏輯NOT運(yùn)算符返回的一定是Boolean值。邏輯NOT運(yùn)算符的行為如下:
如果運(yùn)算數(shù)是對(duì)象,返回false。
如果運(yùn)算數(shù)是數(shù)字0,返回true。
如果運(yùn)算數(shù)是0意外的任何數(shù)字,返回false。
如果運(yùn)算數(shù)是null,返回true。
如果運(yùn)算數(shù)是NaN,返回true。
如果運(yùn)算數(shù)是undefined,發(fā)生錯(cuò)誤。
例: var b = true;
while(!b){ …… }
2、邏輯 AND 運(yùn)算符,用雙和號(hào)(&&)表示。結(jié)果為 true 時(shí)只有一種情況:true && true = true;
邏輯AND運(yùn)算的運(yùn)算數(shù)可以是任何類型的,不止是Boolean值。如果某個(gè)運(yùn)算數(shù)不是原始的Boolean型值,邏輯AND運(yùn)算不一定返回Boolean值:
如果一個(gè)運(yùn)算數(shù)是對(duì)象,另一個(gè)是Boolean值,返回該對(duì)象。
如果兩個(gè)運(yùn)算數(shù)都是對(duì)象,返回第二個(gè)對(duì)象。
如果某個(gè)運(yùn)算數(shù)是null,返回null。
如果某個(gè)運(yùn)算數(shù)是NaN,返回NaN。
如果某個(gè)運(yùn)算數(shù)是undefined,發(fā)生錯(cuò)誤。
如果第一個(gè)運(yùn)算數(shù)是false,那么無論第二個(gè)運(yùn)算數(shù)的值是什么,結(jié)果都不可能為true。
3、邏輯OR運(yùn)算符,用雙豎線(||)表示。結(jié)果為false的情況只有一種:false || false=false; 其他情況均為true。
與邏輯AND運(yùn)算符相似,如果某個(gè)運(yùn)算數(shù)不是Boolean值,邏輯OR運(yùn)算并不一定返回Boolean值:
如果一個(gè)運(yùn)算數(shù)是對(duì)象,另一個(gè)是Boolean值,返回該對(duì)象。
如果兩個(gè)運(yùn)算數(shù)都是對(duì)象,返回第一個(gè)對(duì)象。
如果某個(gè)運(yùn)算數(shù)是null,返回null。
如果某個(gè)運(yùn)算數(shù)是NaN,返回NaN。
如果某個(gè)運(yùn)算數(shù)是undefined,發(fā)生錯(cuò)誤。
邏輯OR也是簡(jiǎn)便運(yùn)算,對(duì)于邏輯OR運(yùn)算符來說,如果第一個(gè)運(yùn)算數(shù)值為true,就不再計(jì)算第二個(gè)運(yùn)算數(shù)。
四、乘性運(yùn)算符
1、乘法運(yùn)算符,用星號(hào)(*)表示,用于兩個(gè)數(shù)相乘。但在處理特殊值時(shí),ECMAScript中的乘法還有一些特殊行為:
如果運(yùn)算數(shù)都是數(shù)字,執(zhí)行常規(guī)的乘法運(yùn)算,如果結(jié)果太大或太小,那么生成的結(jié)果就是Infinity或-Infinity。
如果某個(gè)運(yùn)算數(shù)是NaN,結(jié)果為NaN。
Infinity 乘以0,結(jié)果為NaN。
Infinity 乘以0以外的任何數(shù)字,結(jié)果為Infinity或-Infinity,由第二個(gè)運(yùn)算數(shù)的符號(hào)決定。
2、除法運(yùn)算符,用斜線(/)表示,用第二個(gè)數(shù)除第一個(gè)數(shù)。對(duì)于特殊值,特殊行為如下:
如果運(yùn)算數(shù)都是數(shù)字,執(zhí)行常規(guī)的觸發(fā)運(yùn)算,如果結(jié)果太大或太小,那么生成的結(jié)果是Infinity或-Infinity。
如果某個(gè)運(yùn)算數(shù)是NaN,結(jié)果為NaN。
0除一個(gè)非無窮大的數(shù)字,結(jié)果為NaN。
Infinity被0以外的任何數(shù)字除,結(jié)果為Infinity或-Infinity,由第二個(gè)運(yùn)算數(shù)的符號(hào)決定。
3、取模運(yùn)算符,用百分號(hào)(%)表示。如果運(yùn)算數(shù)都是數(shù)字,執(zhí)行常規(guī)算術(shù)除法運(yùn)算,返回余數(shù)。特殊行為:
如果被除數(shù)是 Infinity,或者除數(shù)是0,結(jié)果為NaN。
如果除數(shù)是無窮大的數(shù),結(jié)果為被除數(shù)。
如果被除數(shù)為0,結(jié)果為0。
五、加性運(yùn)算符
1、加法運(yùn)算符(+),特殊行為:
某個(gè)運(yùn)算數(shù)是NaN,結(jié)果為NaN。
Infinity 加-Infinity,結(jié)果為NaN。
如果某個(gè)運(yùn)算數(shù)是字符串,那么采用下列規(guī)則:
如果兩個(gè)運(yùn)算數(shù)都是字符串,把第二個(gè)字符串連接到第一個(gè)字符串上。
如果只有一個(gè)運(yùn)算數(shù)是字符串,把另一個(gè)運(yùn)算數(shù)轉(zhuǎn)換成字符串,結(jié)果是兩個(gè)字符串連接成的字符串。
2、減法運(yùn)算符(-),如果兩個(gè)運(yùn)算數(shù)都是數(shù)字,將執(zhí)行算術(shù)減法。特殊規(guī)則:
如果運(yùn)算數(shù)是NaN,結(jié)果為NaN。
某個(gè)運(yùn)算數(shù)不是數(shù)字,結(jié)果為NaN。
六、關(guān)系運(yùn)算符
關(guān)系運(yùn)算符小于、大于、小于等于和大于等于執(zhí)行的是兩個(gè)數(shù)的比較運(yùn)算,比較方式與算術(shù)比較運(yùn)算相同。每個(gè)關(guān)系運(yùn)算符都返回一個(gè)Boolean值。
對(duì)于字符串,第一個(gè)字符串中每個(gè)字符的代碼都會(huì)與第二個(gè)字符串中對(duì)應(yīng)位置上的字符的代碼進(jìn)行數(shù)值比較。
1、大寫字母的代碼都小于小寫字母的代碼,所以要得到按照真正的字母順序比較結(jié)果,必須把兩個(gè)運(yùn)算數(shù)轉(zhuǎn)換成相同的大小寫形式,再進(jìn)行比較。
2、在比較兩個(gè)字符串形式的數(shù)字時(shí),比較的是它們的字符代碼。
3、比較一個(gè)字符串和數(shù)字,ECMAScript都會(huì)把字符串轉(zhuǎn)換為數(shù)字,然后按照數(shù)字順序比較它們。如果字符串不能轉(zhuǎn)換成數(shù)字,那么返回NaN,任何包含NaN的關(guān)系運(yùn)算都要返回false。因此,這樣會(huì)返回false。
七、等性運(yùn)算符
1、等號(hào)(==) 和非等號(hào)(!=),為確定兩個(gè)運(yùn)算數(shù)是否相等,這兩個(gè)運(yùn)算符都會(huì)進(jìn)行類型轉(zhuǎn)換。執(zhí)行類型轉(zhuǎn)換的基本規(guī)則如下:
如果一個(gè)運(yùn)算數(shù)是Boolean值,在檢查相等性之前,把它轉(zhuǎn)換成數(shù)字值。False轉(zhuǎn)換成0,true轉(zhuǎn)換成1。
如果一個(gè)運(yùn)算數(shù)是字符串,另一個(gè)是數(shù)字,在檢查相等性之前,要嘗試把字符串轉(zhuǎn)換成數(shù)字。
如果一個(gè)運(yùn)算數(shù)是對(duì)象,另一個(gè)是字符串,在檢查等性之前,要嘗試把對(duì)象轉(zhuǎn)換成字符串(調(diào)用toString()方法)。
如果一個(gè)運(yùn)算數(shù)是對(duì)象,另一個(gè)是數(shù)字,在檢查等性之前,要嘗試把對(duì)象轉(zhuǎn)換成數(shù)字。
在進(jìn)行比較時(shí),該運(yùn)算符還遵守下列規(guī)則:
值null和undefined相等。
在檢查相等性時(shí),不能把null和undefined轉(zhuǎn)換成其他值。
如果某個(gè)運(yùn)算數(shù)是NaN,等號(hào)將返回false,非等號(hào)將返回true。即使兩個(gè)運(yùn)算數(shù)都是NaN,等號(hào)仍然返回false,因?yàn)楦鶕?jù)規(guī)則,NaN不等于NaN。
如果兩個(gè)運(yùn)算數(shù)都是對(duì)象,那么比較的是他們的引用值。如果兩個(gè)運(yùn)算數(shù)指向同一個(gè)對(duì)象,那么等號(hào)返回true,否則兩個(gè)運(yùn)算數(shù)不等。


2、全等號(hào)和非全等號(hào)
等號(hào)和非等號(hào)的同類運(yùn)算符是全等號(hào)和非全等號(hào)。這兩個(gè)運(yùn)算符所做的與等號(hào)和非等號(hào)相同,只是他們?cè)跈z查相等性前,不執(zhí)行類型轉(zhuǎn)換。
全等號(hào)由三個(gè)等號(hào)(===)表示,只有在無需類型轉(zhuǎn)換運(yùn)算數(shù)就相等的情況下,才返回true。
var sNum="55"; var iNum=55; alert(sNum==iNum); //輸出 "true"
alert(sNum===iNum); //輸出 "false"
非全等號(hào)由兩個(gè)感嘆號(hào)加兩個(gè)等號(hào)(!==)表示,只有在無需類型轉(zhuǎn)換運(yùn)算數(shù)不相等的情況下,才返回true。
var sNum="55"; var iNum=55; alert(sNum != iNum); //輸出 "false"
alert(sNum !== iNum); //輸出 "true"
八、其他運(yùn)算符
1、條件運(yùn)算符,即三元運(yùn)算符 : variable = boolean_expression ? true_value : false_value;
2、賦值運(yùn)算符(=) 復(fù)合賦值運(yùn)算符:+=、-=、*=、/=、%=、<<=、>>=、>>>=
3、逗號(hào)運(yùn)算符 用逗號(hào)運(yùn)算符可以在一條語句中執(zhí)行多個(gè)運(yùn)算。 如: var iNum1=1,iNum2=2;

相關(guān)文章

最新評(píng)論