版权声明:EGEEK https://blog.csdn.net/qq_41604269/article/details/82858332
运算符
定义:运算符也叫操作符,通过运算符可以对一个或多个值进行运算,并获得运算结果。
typeof是运算符之一,可以获得一个值的数据类型。
<script>
var a=123;
alert(typeof a); //number
</script>
算术运算符
加、减、乘、除、取模,即+、-、*、/、%
任何值与字符串相加,都会转换成字符串并拼接。除此之外,任何数据类型与Number数据类型运算都会先转换成Number类型再运算。例如,100-"1"=99,"100"-1=99。
一元运算符
用+、-实现快速类型转换成Number数值类型。
<script>
var a = 123;
a = -a; //a=-123
a=+true; //a=1
a=+"123"; //a=123
a=-"123"; //a=-123
a=--"123"; //非法操作
a=-"hello"; //a=NaN 非数字
a=1++"2"+3; //a=6
</script>
隐式类型转换①:
①为任意的数据类型+""即可将其转换成String字符串类型,这是一种隐式类型转换,由浏览器自动完成,实际上也是调用String()函数。
②为任意的数据类型 -0 即可将其转换成Number数值类型。
<script>
//任何值与字符串相加,都会转换成字符串并拼接
var result = 3+"2";
alert(typeof result); //string
result = result-0;
alert(typeof result); //number
result = "2"+3;
alert(result); //"23"
result = 123;
result = result + "";
alert(result); //"123"
result = true+"23";
alert(result); //"true23"
</script>
逻辑运算符
非、与、或,即!、&&、||
非运算:!一次取反,!!两次取正。
与运算:“电路的串联”,找false,一旦找到就返回false,false谁在前面返回谁。
- true&&true //返回的第二个true
- true&&false //返回的第一个false
- false&&true //返回的第一个false
- false&&false //返回的第一个false
或运算:“电路的并联”,找true,一旦找到就返回true,true谁在前边返回谁。
- true||true //返回的第一个true
- true||false //返回的第一个true
- false||true //返回的第一个true
- false||false //返回的第二个false
对于非Boolean值,会先将其装换成Boolean值,判断完毕后返回原值。
隐式类型转换②:
利用非运算可以将其它数据类型转换成Boolean类型
<script>
var a = 10;
a=!!a; //a=true
a = -1;
a=!!a; //a=true
a=0;
a=!!a; //a=false
a=NaN;
a=!!a; //a=false
a="hello";
a=!!a; //a=true
</script>