JavaScript类型转换与运算符

  JavaScript是一种无类型语言(更为精确的说,是一种松散类型,动态类型的语言)。这就是说,再声明变量时无需指定数据类型,这使JavaScript具有灵活性和简单性。在代码执行过程中,JavaScript会根据需要自动进行类型转换。例如,如果传递给方法document.write()的是一个数字,JavaScript会自动将其转换成与之等价的字符串表示。

 1. 在JavaScript中,数据类型有一定的转换规则。

转换为逻辑数据类型
类型 转换后的结果
Undifined false
Null false
数值型 为0或NaN,则结果为false,否则为true
字符串类型 若长度为0,则结果为false,否则为true
其他类型 true
转换为数值类型
类型 转换后的结果
Undefined NaN
Null 0
逻辑型 值为true,则结果为1,值为false,则结果为0
字符串型 若内容为数字,则结果为相应数字,否则为NaN
其他类型 NaN

转换为字符串数据
类型 转换后的结果
Undefined “Undefined”
Null “NaN”
逻辑型 值为true,则结果为“true”,值为false,则结果为“false”
数值型 若内容为数字,则结果为相应数字,否则为NaN
其他类型 若存在,则为toString()方法的值,否则为“undefined”

2. 比较运算符

比较运算符
运算符 含义 举例 运算结果
< 小于 4<8 true
<= 小于或等于 6<=5 false
> 大于 4>3 true
>= 大于或等于 5>=5 true
!= 不等于 6!=5 true
== 等于 6==5 false
=== 等于(且类型相同) 5==="5" false
!=== 不等于(或类型不同) 5!==="5" true

 

 

位移运算符
运算符 含义 举例 中间步骤 运算结果
<< 左移位(空出的位补0) 4<<3 00000100左移3位,结果为00100000 32
>> 右移位(空出的位补符号位) -9>>2 11110111右移2位,结果为11111101 -3
>>> 右移位(空出的位补0) 32>>>3 00100000右移3位,结果为00000100 4

 

Javascript运算符的优先级与结合性
优先级 结合性 运算符
最高 向左 .,[],()
  向右 ++,--,-,~,!,delete,new,typeof,void
  向左 *,/,%
  向左 +,-
  向左 <<,>>,>>>
  向左 <,<=,>,>=,in,instanceof
  向左 ==,!=,===,!====
  向左 &
  向左 ^
  向左 |
  向左 &&
  向左 ||
  向左 ?:
  向右 =
  向右 *=,/=,%=,+=,-=,<<=,>>=,>>>=,&=,^=,|=
最低 向左

 

你可能感兴趣的:(javascript,null,语言,delete)