⑴ javascript算數運算符一點點小疑問。
首先你應該網路一下「自動類型轉換」
關於字元串,只要用引號括起來就是字元串,不論引號中間是數字還是字母或其他符號。
a="100"
這個a如果不是字元串,是可以的,但是
a=""
如果去掉引號,就溢出了,因為任何編程語言中,都沒有一種變數能容納如此大的數。因此只能用字元串。
自動類型轉換,如果一個字元串由數字組成且轉換後不超出范圍,就能轉換成功,否則就會失敗,出現NaN(not a number)錯誤。
a="100"
這個a是字元串,是不能直接進行運算的,之所以可以和其他數字相加得到正確結果,是因為在運算之前javascript解釋器將a進行了自動類型轉換,變成了數字。
打個比方,書上寫著100,它本身是1,0,0三個字元組成的字元串,之所以你看成100,是因為你的大腦把這個字元串轉換成了數字。
⑵ JavaScript都有些什麼運算符有什麼要特別注意的我是個新手,哪個大牛幫我總結下。
你在其它主流語言中能見到的運算符,95%以上都能在JavaScript中使用。下面來看下幾大類運算符:
1、 算術運算符:+,-,*,/,%
舉例:45 + 44 = 89 89 - 44 = 45 9 * 3 = 27 9 / 3 = 3 86 % 10 = 6
加、減、乘、除、取余是最基本的算術運算符,幾乎所有編程語言都具有這些運算符。在JavaScript語言中加、減、乘、除、取余分別用』+』, 』-』, 』*』, 』/』, 『%』字元來表示。它們接收兩個數值類型作為操作數進行相應的數學運算,並將運算結果返回。
2、 復值運算符:=
舉例:total = num1+num2
賦值運算符是一個『=』符號。當瀏覽器遇到賦值運算符,會先執行運算符右邊的表達式,然後將其賦值給左邊的變數或表達式。初學者特別要注意,這不是判斷相等的運算符,而是賦值運算符。
3、 復合運算符:+=,-=,*=,/=
舉例: value += 5;
「+=」運算符將相加和賦值操作合並在一起,是一個運算符,所以+=符號中間不能有空格。除了有「+=」運算符,JavaScript還提供了-=,*=和/=運算符;分別表示相減並賦值,相乘並賦值,相除並賦值。
4、 比較運算符==,===,!=,!===,>, <, >=, <=
舉例: if(num1==num2) x>y, x<y, x>=y, x<=y
比較運算符比較兩個對象的大小,判斷是不相等,返回布爾類型的值。使用起來簡單方便,但是我們需要注意如下幾點:
注意1,不要混淆「=」和「==」,如
if ( num1 = num2 ) {
//除了num2為0的情況,其它情況都會執行。
}
注意2,「=」、「==」和「===」的區別
一個等號「=」是賦值運算符;兩個等號「==」是相等比較的運算符(字元6和數字6會認為是相等的);三個等號「===」是嚴格的相等比較運算符(字元6和數字6不會認為是相等的,即要內容和數據類型完全一致)。
5、 邏輯運算符:&&,||, !
舉例:if (x === y && m === n ) { … }
邏輯與由兩個』&』組成,中間不能有空格;表示兩個操作數都為true時,結果才為true。
邏輯或由兩個』|』組成,與邏輯與相反,邏輯或只需操作數有一個為true,則結果為true。
邏輯非是一個感嘆號,操作數為true,則結果為false,操作數為false,則結果為true。
6、 一元運算符:++,--
舉例:intValue++; intValue--; ++intValue; --intValue;
自增運算符給變數加1,運算效果和intValue = intValue + 1、intValue += 1一樣。自增運算符「++」是一元運算符,表示它只需要一個操作數。自增運算符又可分為前置自增和後置自增運算,即運算符++即可以放在操作數前邊,也可以放在操作數後面,如前置自增++intValue和後置自增intValue++;
與自增運算符相反,自減運算符給變數減1,運算結果和intValue = intValue - 1、intValue -= 1的一樣。自減運算符也是一元運算符,同樣也有前置自減和後置自減的用法。
一元運算符出現的位置很重要,會影響自增運算的返回值。如前置++在計算後會返回變數增加後的值,而後置++會返回變數未增加前的值。
7、 三元運算符:? :
格式:條件表達式 ? 表達式1 : 表達式2;
三元運算符有疑問號?和冒號:組成。三元運算符的三個操作數如上示例,分別為條件表達式、表達式1和表達式2。當條件表達式為true時,表達式1會被執行;否則,表達式2將會被執行。這個邏輯和if-else語句很相似。
8、 位運算符:~、&、|、^、<<、>>、>>>
舉例:~num, num1 & num2, num1 | num2, num1 ^ num2, -10<<2
位運算符實際就是對二進制進行與或非、左移、右移運行。
上述是從教程網站秒秒學上總結來的運算符各類,我感覺基本的運算符都囊括了,希望對你有幫助。