算數操作符
加法操作符(+),減法操作符(-),除法操作符(/),乘法操作符(*)
還可以把多種操作組合在一起:1+4*5
避免產生歧義,可以用括號把不同的操作分隔開來:1+(4*5);(1+4)*5
變量可以包含操作:
var total = (1+4)*5;
還可以對變量進行操作:
var temp_fahrenheit = 95; var temp_celsius = (temp_fahrenheit - 32)/1.8;
js提供了一些非常有用的操作符作為各種常用操作的縮寫。例如,想給一個數值變量加上1,
可以使用如下所示語句:
year = year +1;
也也已使用++操作符來達到同樣的目的:
year++;
--操作符也可以對一個數值變量進行減1操作。
加號(+)是一個比較特殊的操作符,既可以用於數值,也可以用於字符串。把多個字符串
首尾相連在一起的操作叫做拼接(concatenation)。
var message = "I am feeling" + "happy";
這種拼接也可以通過變量來完成:
var mood = "happy"; var message = "I am feeling" + mood;
甚至可以把數值和字符串拼接在一起。因為js是一種弱類型語言,所以這種操作是允許的。
此時,數值將被自動轉換為字符串:
var year = 2010; var message = "The year is" + year;
另一個非常有用的快捷操作符是+=,它可以一次完成“加法和賦值”(或“拼接和賦值”)
操作:
var year = 2010; var message = "The year is "; message += year; alert(message);
輸出結果是The year is 2010
比較操作符:
比較兩個值是否相等,可以使用"等於"比較操作符。(==);
單個等號(=)用於完成賦值。
示例:
var my_mood = "happy"; var your_mood = "sad"; if(my_mood = your_mood) { alert("We both feel the same."); }
上面語句並沒有完成比較操縱,而只是把your_mood賦值給變量my_mood。
正確的語句應該使用比較操作符(==);
var my_mood = "happy"; var your_mood = "sad"; if(my_mood == your_mood) { alert("We both feel the same."); }
js還可以使用”不等於“比較操作符(!=)。
if(my_mood != your_mood) { alert("We're feeling different moods."); }
還有!相等操作符(==)並不表示嚴格相等(===),用相等操作符(==)比較一個false與一個空字符串
其結果是一樣的,因為相等操作符(==)認為空字符串與false含義是一樣的。要進行嚴格比較,就要
使用嚴格相等(===);這個全等操作符會執行嚴格的比較,不僅比較值,而且會比較變量的類型:
var a = false; var b = ""; if(a === b) { alert("a equals b"); }
全等操作符會認為false與空字符串不是同一種類型。對於不等操作符!=也是如此。想要比較嚴格不相等
就要使用!===。
邏輯操作符:
邏輯操作符的操作對象是布爾值。每個邏輯操作數返回一個布爾值true或者是false。
”邏輯與“操作符,由兩個”&“字符構成(&&),是一個邏輯操作符。”邏輯與“
操作只有在它的兩個操作數都是true時才會是true。
if(num >= 5 && num <= 10 ) { alert("The number is in the right range."); }
”邏輯或“操作符由兩個垂直直線字符構成(||)。只要它的操作數中有一個是true,
”邏輯或“操作就將是true。如果它的兩個操作數都是true,”邏輯或“操作也
將是true。只有當它的兩個操作數都是false時,”邏輯或“操作才會是false。
if(num > 10 || num < 5 ) { alert("The number is in the right range."); }
”邏輯非“操作符,它由一個感嘆號(!)單獨構成。”邏輯非“操作符只能作用於
單個邏輯操作數,其結果是把那個邏輯操作數所返回的布爾值取反。如果那個邏輯操
作數所返回的布爾值是true,”邏輯非“操作符將把它取反為false:
if( !(1>2) ) { alert("All is well with the world"); }
可以用”邏輯非“操作符把整個條件語句的結果顛倒過來。
以下例子使用一對括號來確保”邏輯非“操作符將作用於兩個邏輯操作數的組合結果:
if( !(num>10 || num<5) ) { alert("The number IS in the right range."); }