JavaScript DOM 9.17
操作(operation)
算术操作符
加减乘除都是算术操作,赋值用 = 号
为了避免歧义,用括号把不同操作分割 1+(4/5)
变量也可包含操作:
var total = (1+4)/5
还可以对变量进行操作:
var mclty = 95;
var mclsy = (mclty-33)/1.5;
js提供有用的操作符号,作为各种常用操作的缩写,例如想给一个数值变量+1,可以:
var year = year+1;
可以用year++
达到同样的目的。
类似的,year--
可以做-1的操作
加号是一个特殊的操作符,既可以用作数值,也可以用作字符串:
var message = "I am feeling" + "happy";
这样把多个字符串收尾相接的操作叫做拼接。也可以通过变量来完成:
var mood = =happy;
var message = "I am feeling" + mood;
甚至可以把数值和字符串拼接在一起。因为js是弱类型语言,所以操作是允许的,此时数据值会自动转化为字符串:
var year = 2005;
var message = "The year is" + year;
如果把字符串和数值拼在一起,结果是字符串,但拼接两个数值,结果是和。
区别以下两个语句:
alert ("10" + 20); //1020
alert (10+20); //30
另一个快捷操作符是+=,可以完成“加法和赋值”(或者“拼接和赋值”):
var year = 2010;
var message = "The year is";
message += year;
alert(message) //The year is 2010
条件语句
脚本可以根据人们给出的各种条件做出决策。js使用条件语句来做判断(conditional statement)
解释脚本时,浏览器将依次执行脚本中各条语句,可以在脚本中用条件语句设置一个条件,只有满足这个条件才能让语句得到执行。最常见的是if语句。
if (condition){
statements
}
条件必须放在if后的圆括号中。条件的求值结果永远是一个布尔值。花括号中的语句只有在条件的求值结果为true的情况下才会被执行。
if (1>2){
alert("bad world");
}else{
alert("good world");
}
比较操作符
js还提供许多几乎只能在条件语句里的操作符,包括">" "<" ">=" "<="
如果比较两个值是否相等,可以使用“等于”操作符,由两个等号构成,因为单个的等号是用于完成赋值
相等操作符==并不表示严格的相等,例如比较false和一个空字符串,得到的结果是true。因为相等操作符号认为空字符和false含义相同。要进行严格比较,使用另外一种等号===,不仅比较值,而且比较变量的类型。
js还提供一个用来进行“不等于”的操作符, 由一个感叹号和一个等号构成 !=
严格不等的操作符 使用!==
逻辑操作符
如果想检查某个变量,不妨假设变量为num,它的值是不是在5~10之间,需要进行两次比较操作,是否大于等于5,然后是否小于等于10,两次比较操作成为逻辑比较:
if (num >=5 && num <=10){
alert("the number is in the right range.")
这里使用了“逻辑与”操作符,由两个&&组成,是一个逻辑操作符。逻辑操作符的操作对象是布尔值,每个逻辑操作返回一个布尔值true或false,“逻辑与”只有在两个操作数都是true时才会true。
“逻辑或”操作符由两个垂直字符线构成 ||,只要操作数中有一个是true,“逻辑或”就是true。两个false才会是false。
js提供一个“逻辑非”的操作符,有一个感叹号构成 !,作用于单个逻辑操作数,其结果是把那个逻辑操作数返回的布尔值取反:
if ( ! ( 1 > 2 ) ); {
alert("all is well");
}`
为避免产生歧义,把逻辑操作数放在了括号里。(1>2)
可以用“逻辑非”把整个条件语句的结果颠倒过来:
if(!(num>10 || num<5)){
alert("the number is in the right range.");
}