首页 > Web开发 > 详细

effective js-5-避免对混合类型使用==运算

时间:2016-02-27 02:13:00      阅读:155      评论:0      收藏:0      [点我收藏+]

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>js-避免对混合类型使用==运算</title>

</head>

<body>

<script>

</script>

?

<p>

?

★★★关于 避免对混合类型使用==运算 必须知道的是★★★:

虽然之前有提到过,此节重点讲述 ==。

?

1. 原因:

存在隐式的类型转换

2. 方法:

写自己的显示类型转换程序

3. 类型不同时,== 运算符的隐式强制转换规则:

参数类型1 参数类型2 强制转换
null undefined 不转换,总是返回 true
null或undefined 其他非null或undefined类型 不转换,总是返回 false
boolean,number,string boolean,number,string

将原始类型转换为数字

0 == false; 1 == true; 3 == false;

"" == false; "0" == false; "1" == true;

"1" == 1; "0" == 0; "" == 0;

boolean,number,string Date对象

将原始类型转换为数字

Date转换为原始类型(优先尝试toString(),再尝试valueOf())

boolean,number,string 非Date对象

将原始类型转换为数字

非Date对象转换为原始类型(valueOf->toString)

?

?

?

?

?

</p>

</body>

</html>

effective js-5-避免对混合类型使用==运算

原文:http://mumu-shoucang.iteye.com/blog/2279135

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!