您的位置:首页 > Web前端 > JavaScript

JavaScript中逻辑运算符、位运算符以及简单数据类型转换的问题

2017-07-15 16:12 211 查看

1.类型转换

1)数字转换

parseInt()和parseFloat()
parseInt("123");     //结果为 123
parseInt("12a");     //结果为 12 当检测到错误之后就会停止
parseFloat("0.8");   //结果为 0.8
parseFloat("0.8a")   //结果为 0.8
Number()
Number("123");       //结果为 123
Number("123a");      //结果为 NaN

2)字符串转换

tostring() —-String类中的方法
var i = 666;
alert(typeof(i.toString())+":"+i.toString);
/*运行结果为:string:666 */
String()
var i = 666;
alert(typeof(String(i))+":"+String(i));
/*运行结果为:string:666 */

3)布尔类型转换

Boolean()
Boolean(666);       //输入数字   true
Boolean("");        //输入空串   false
Boolean("2a");      //输入字符串 true
Boolean(null);      //输入null  false
Boolean(0);         //输入0     false
Boolean(new Object());  //输入对象 true

Number(),String(),Boolean()均属于 强制类型转换

2.逻辑运算符的问题 【&&】与 【||】或 【!】非

当用逻辑运算符连接时,两边的语句均会转换成Boolean类型,再进行运算。

1)基本问题

A&&B

当A为true并且B也为true时,表达式为true;二者有一为false则表达式为false。

A||B

当A、B至少有一者为true时,表达式为true;二者均为false则表达式为false。

!A

当A为true表达式值为false;当A为false表达式值为true。

2)短路计算

false && (...)
短路计算为false

true || (...)
短路计算为true

能转化为false值的表达式有:false 、空字符串 、0 、NaN、 undefined、 null

能转化为false值的表达式有:true、非空字符串、非零数字、对象

3)【&&与&】【||与|】的区别

&&和||为逻辑运算,不啰嗦了...

【& 按位与运算】

例如

7&8

首先会将7和8分别转换成二进制编码:即(0000 0111)&(0000 1000)

然后每一位分别进行与运算得到结果为 0000 0000 即原表达式值为:0。

【| 按位或运算】

例如

7|8

同理按位或运算的到 0000 1111,则表达式值为:15。

4)逻辑运算符的优先级

! > && > ||

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: