javascript运算符及隐式类型转换

版权声明: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谁在前面返回谁。

  1. true&&true     //返回的第二个true
  2. true&&false    //返回的第一个false
  3. false&&true    //返回的第一个false
  4. false&&false   //返回的第一个false

或运算:“电路的并联”,找true,一旦找到就返回true,true谁在前边返回谁。

  1. true||true       //返回的第一个true
  2. true||false      //返回的第一个true
  3. false||true      //返回的第一个true
  4. 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>

猜你喜欢

转载自blog.csdn.net/qq_41604269/article/details/82858332