美文网首页饥人谷技术博客
javascript中的隐式转换

javascript中的隐式转换

作者: 蜻蜓之鱼 | 来源:发表于2016-07-16 18:10 被阅读27次

一、 运算中存在的隐式类型转换(基本类型)


简述:如果字符串不是纯数字就会转化为NAN

二、 运算中存在的隐式类型转换(引用类型)

注解:引用类型转布尔全是true。比如空数组,只要是对象就是引用类型,所以[]为true。

1.对象转数字时,调用valueOf();

2.对象转字符串时,调用toString();

0 == [];        // true, 0 == [].valueOf(); -> 0 == 0;

'0' == [];      // false, '0' == [].toString(); -> '0' == '';

2 == ['2'];     // true, 2 == ['2'].valueOf(); -> 2 == '2' -> 2 == 2;

'2' == [2];     // true, '2' == [2].toString(); -> '2' =='2';

[] == ![];      //true, [].valueOf() == !Boolean([]) -> 0 == false -> 0 == 0;

对象转成数字时,调用valueOf(),在这之前先调用的是toString();所以我猜valueOf方法是这样的。So上面的例子 0 == []要改成下面更合理。无论如何,[]最后是转成0的。

相关文章

  • 2-JavaScript-的包装类和基本检测 隐式转换

    1 +new Date() --隐式转换 JavaScript的隐式转换,在使用“ + - | ~~ ”的时候会先...

  • javascript数据类型隐式转换

    javascript数据类型隐式转换 一、函数类 isNaN()改函数会对参数进行隐式的Number()转换,如果...

  • javascript中的隐式转换

    一、 运算中存在的隐式类型转换(基本类型) 简述:如果字符串不是纯数字就会转化为NAN 二、 运算中存在的隐式类型...

  • 类型转换

    在JavaScript中,共有两种类型转换:隐式类型转换,显示类型转换。 “字符串”转换为“数字” 在JavaSc...

  • js类型转换

    javaScript类型转换 标签(空格分隔): 未分类 隐式转换 当遇到以下几种情况,JavaScript会自动...

  • scala-隐式机制及Akka

    隐式机制及Akka 隐式转换 隐式转换和隐式参数时Scala中两个非常强大的功能,利用隐式转换和隐式参数,可以提供...

  • 03.【JS怪癖1】隐式类型转换

    参考资料:JavaScript 的怪癖 1:隐式类型转换 1.布尔值的隐式转换 1.1 转为false 四种情况:...

  • 前端常见面试题(十三)@郝晨光

    列举三种强制类型转换和两种隐式类型转换 JavaScript是一门弱类型语言,在JavaScript中声明变量不需...

  • JavaScript精选练习(1)

    打印100以内的所有质数 写出斐波那契数列 如果对于隐式类型转换不太了解可以看看:JavaScript隐式类型转换

  • JavaScript预编译

    JavaScript预编译,你不知道的JavaScript 隐式类型转换 typeof   typeof 用来校验...

网友评论

    本文标题:javascript中的隐式转换

    本文链接:https://www.haomeiwen.com/subject/pesujttx.html