算数操作符
加法操作符(+),减法操作符(-),除法操作符(/),乘法操作符(*)
还可以把多种操作组合在一起: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."); }