目录
1、算数运算符
运算符也叫操作符,指的是对一个或多个值进行运算并返回结果
typeof 就是一个运算符,返回的结果是值的类型,并且是以 String 形式返回
算术运算符分类
+ - * / % 分别对对应 加减乘除
+ 号,在数字运算上与数学意义上的 + 号一样。但当有一方或几方不是数字时,就大不一样了。当用字符串进行加法运算时,会转换成字符串之后再运算,并且结果也是字符串。
var a = "1234";
a = a + 1;
console.log(typeof a)
console.log(a)
所以可以用加号来做隐式转换
var a = 1234;
a = a + "";
console.log(typeof a);
console.log(a)
数字与NaN或者undefined相加,结果是NaN
var a = 1234;
a = a + NaN;
console.log(typeof a);
console.log(a)
- * / 号也可做隐式转换。分别是 -0,*1,/1。%号是取余数,也叫取模
var a = 10;
a = a % 3;
console.log(typeof a);
console.log(a)
2、一元运算符
正好 +
负号 -
对非Number型数据会先转换为Number,所以可用 + 来进行隐式转换
自增和自减
自增符号 ++。自增会使原值在自身的基础上立即增加1。
自增会改变数据本身数值。自增又分为 a++ 和 ++a,对于原值来说两种自增并无分别,有分别的是a++ 和 ++a的值
a++ 的值等于原变量的值
++a 的值等于原变量新值
自增符号 ++。自增会使原值在自身的基础上立即增加1。
自减会改变数据本身数值。自减又分为 a--和 --a,对于原值来说两种自增并无分别,有分别的是a-- 和 --a的值
a-- 的值等于原变量的值
--a 的值等于原变量新值
var n1 = 10, n2 = 20;
var n = n1++;
console.log('n='+n) ;
console.log('n1='+n1) ;
n = ++n1
console.log('n='+n) ;
console.log('n1='+n1) ;
n = n2--;
console.log('n='+n) ;
console.log('n2='+n2) ;
n = --n2;
console.log('n='+n) ;
console.log('n2='+n2) ;
3、逻辑运算符
所谓逻辑运算符就是——与(&&),或(||),非(!)这三种逻辑运算符
非(!)就是将Boolean取反
var a = true;
a = !a;
console.log(a)
对于非Boolean进行与(!)运算,会先转换成Boolean再取反,可以对一个值进行两次取反,来得到它的布尔值(空值为false,非空为true)
var a = "mine";
a = !!a;
console.log(a)
与(&&)
与(&&)只要有一个不是真,就返回假
短路的与(&&)——第一个为false的情况下,只看第一个值
或 (||)
或 (||) 只要有一个真,就返回真
短路的或(||)——第一个为true的情况下,只看第一个值
4、非Boolean的逻辑运算
总结——非Boolean的 与(&&) 和 或 (||) 运算返回最后检查的值
非Boolean的返回最后检查的值
- 与运算:
如果第一个值为true,则必然返回第二个值
如果第一个值为false,则直接返回第一一个值
- 或运算
如果第一个值为true,则直接返回第一个值
如果第一个值为false,则返回第二个值