类型转换的小乐趣

来源:互联网 发布:知乎算命准推荐 编辑:程序博客网 时间:2024/06/04 23:32

http://www.planabc.net/2010/11/01/funny_type_conversion_in_javascript/

这个如何转换呢?

首先,我们了解下逻辑 NOT(!)运算与等号(==)运算的一些基本规则:

  1. 逻辑 NOT 运算中,如果运算数是对象,返回 fasle;
  2. 等号运算中,如果一个运算数是 Boolean 值,在运算前,会将其转换成数字:false -> 0,true -> 1;
  3. 等号运算中,如果一个运算数是对象,另一个是数字,在运算前,会将对象转换成数字。

2010年11月2日补充:对象不能直接转换成数字型,可以将其转换成字符型,再将字符型转换成数字型。

根据上面的一些规则,我们再来看看原来的表达式如何演变:

思考题:

推荐阅读:《命名函数表达式探秘》