运算符也叫操作符
- 通过运算符可以对一个或多个值进行运算,并获取运算结果
* 比如:typeof就是运算符,可以来获得一个值的类型,它会将该值的类型以字符串(string)的形式返回,number string boolean undefined object
算数运算符
1.当对非Number类型的值进行运算时,会将这些值转换为Number然后在运算,任何值和NaN做运算都得NaN
var result=1+true;//2
var result=1+NaN;//NaN
2.任何值和字符串相加都会转换为字符串,并做拼串操作(减法乘法除法都是转为number)
- 我们可以利用这一特点,来将一个任意的数据类型转换为String
- 我们只需要为任意的数据类型 + 一个 “” 即可将其转换为String,这是一种隐式的类型转换,由浏览器自动完成,实际上它也是调用String()函数
result = true + "hello";//truehello
var str = "锄禾日当午," +
"汗滴禾下土," +
"谁知盘中餐," +
"粒粒皆辛苦";
console.log(str)
任意的数据类型 + 一个 “” 即可将其转换为String
var c = 123;
c = c + "";//"123"
注意运算顺序区别
result = 1 + 2 + "3"; //33
result = "1" + 2 + 3; //123
3.任何值做- * /运算时都会自动转换为Number
result = 100 - true;//99
result = 100 - "1";//99
result = 2 * 2;//4
result = 2 * "8";//16
result = 2 * undefined;//NaN
result = 2 * null;//0
result = 4 / 2;//2
result = 3 / 2;//1.5
我们可以利用这一特点做隐式的类型转换,_可以通过为一个值 -0 _1 /1来将其转换为Number,原理和Number()函数一样,使用起来更加简单
var d = "123";
d = d - 0;
console.log(typeof d)//number
console.log(d)//123
4.% 取模运算(取余数)
result = 9 % 3;//0
result = 9 % 4;//1
result = 9 % 5;//4
console.log(typeof result)//number