操作运算符
1.+
var a = 1 + "a" +1 + 1; document.write(a)
输出为:1a11
var a = 1 + 1 + "a" +1; document.write(a)
输出为:2a1
运算会自左向右进行;
任何类型的数据+字符串都会等于一个字符串.
- %
var num = 1 % 5; document.write(num)
输出为: 1
1里面有0个5 ,因此商=0,余下了1。
var num = 4 % 5; document.write(num)
输出为: 4
4里面有0个5 ,因此商=0,余下了4。
var num = 0 % 5; document.write(num)
输出为: 0。
0 % 任何数都得0。
var a = 1; var b = a -- + -- a; document.write(b)
输出为:0
原理:--a使得a变为0(第二行的两个a都变为0);0+0=0。
比较运算符
var a = 1 > 2; document.write(a)
输出为:false
var b = 1 == 1; document.write(b)
输出为true
var a = NaN == NaN; document.write(a)
输出为false
var b = 1 !=2; document.write(b)
!=的含义为:是否不等于
输出为true
逻辑运算符
1.与运算符 &&:一定会返回结果
以下6个值转化为布尔值为false:
undefined,false,null,NaN," "(空字符串),0。
在与运算中:如果只有两个表达式,且如果第一个表达式的布尔值为true,那么就直接返回第二个表达式的值;如果第一个表达式的布尔值为false,那么直接返回第一个表达式的值。
var c = 1 && 2; document.write(c)
返回2
var d = 0 && 2; document.write(d)
返回0
在与运算中:如果有多个表达式,那么会从左往右依次看表达式的布尔值,若一直为true则一直向前走,返回最后一个值;如果遇到false,则返回false位置的表达式的值
var e = 1 && 1 && 2: document.write(e)
返回2
var f = 1 && 0 && 2; document.write(f)
返回0
&&有中断作用,因此可以用作短路语句(可以像if一样拿来作条件):
2 > 1 && document.write('I am handsome')
var = rear-end-data; rear-end-data && 一个会用到rear-end-data的语句
以上是短路语句的用法:先判断&&之前的东西的真假(是否为空值),如果&&前的东西有意义,才会进行&&后的操作
2.或运算符||
var a = 1 || 3; document.write(a)
返回1
var b = 0 || 3; document.write(b)
返回3
var c = 0 || false || 3; document.write(c)
返回3
与运算:第一个表达式的布尔值为true,则返回第一个表达式的值;第一个不为true,则向后看,碰到true就停 ;如果所有表达式的布尔值全为false,则返回最后一个表达式的值。
3.非运算符! :把表达式转换成布尔值再取反
var a = ! 123; document.write(a)
返回false
var b = !!123; document.write(b)
返回true
!!的作用是:取布尔值
网友评论