专栏首页木子昭的博客JS数据类型转换规则显示类型转换

JS数据类型转换规则显示类型转换

JS数据类型

基础类型

  • String
  • Boolean
  • Number
  • Symbol
  • Undefine
  • Null(typeof(null) === "object")

复合类型: 对象

  • Object(Array, Json)

显示类型转换

Number的原始类型转换规则

  • 数值转换后还是数值
  • 字符串如果可以解析为数值则为数值, 空字符串为0, 无法解析的字符串为NaN
  • 布尔转数值, true转为1, false转为0
  • null转换为0

Number的对象类型转换规则

传入实例M, 先调用M的valueOf(), 如果返回值V为基本数据类型, 则直接使用Number(V), 求最终返回值 如果T不属于基本数据类型, 则调用M的toString(), 如果返回值S为基本数据类型, 则直接使用Number(S),求最后的结果, 如果S不属于基本数据类型, 则直接返回NaN

String的原始类型转换规则

  • 数值(Number)转为相应的字符串
  • 字符串(String) 转换后还是字符串
  • 布尔值(Boolean)转换规则: true => 'true', false=> 'false'
  • undefine 转换为"undefine"
  • null 转换为'null'

String 的对象类型转换规则

与Number的对象转换规则类似, 区别是: 先调用对象的toString(), 然后再调用valueOf() 其实正常情况下, 对象调用自身的toString()后, 对象就可以转换为string基本类型, valueOf() 没有机会被调用, 但万事有个例, 如果我们重新定义了对象的toString()方法,使其返回非基本类型的值, 那样就有机会调用对象的valueOf()方法了

Boolean的原始类型转换 和 对象类型转换

undefined,null,NaN,'',-0,+0皆为false, 其余为true

隐式类型转换

四则运算+, -, *, /

判断语句 if()

Native调用 console.log(), alert()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 用Github五万颗星的css动画库, 为网页增添趣味性

    animate整个项目只有一个css文件, 使用方法也非常简单, 只要给相应的元素添加class属性即可

    zhaoolee
  • 《个人网站篇》WordPress与Hexo建站如何选型?

    Hexo是一个基于Node.js的建站工具,可以用来生成静态网站,Hexo配套的最棒主题为Next,Next主题使用效果实例 https://zhaoolee....

    zhaoolee
  • Java调用Python爬虫

    用java调用python的爬虫程序,是一件很有意思的事情, 但解决方法大多不靠谱,作者花了两天的时间,动手实践,最终完全解决了问题 ? java-p...

    zhaoolee
  • 迭代器模式(Iterator)

    Java高级架构
  • JS对象与Dom对象与jQuery对象之间的区别

    通过问题看本质: 举例: js的写法:document.getElementById('save').disabled=true; 在jquery中我是这...

    用户1195962
  • 垃圾回收算法(4)-复制算法

    复制算法首先将或者的内存空间分为2块,每次只使用其中一块,在垃圾会搜时将正在使用的内存中的存活对象复 制到未被使用的内存块中,之后清楚正在使用的内存块中的所有对...

    一觉睡到小时候
  • 一文了解动态场景中的SLAM的研究现状

    常规的SLAM算法首先假设环境中所有物体均处于静止的状态。而一些能够在动态环境中运行的SLAM系统,只是将环境中的动态物体视为异常值并将他们从环境中剔除,再使用...

    小白学视觉
  • jquery对象和javascript对象相互转换

    本文转载:http://jeiofw.blog.51cto.com/3319919/786506

    跟着阿笨一起玩NET
  • 前端基础-jQuery对象和DOM对象

    jQuery对象不能使用DOM对象的成员,DOM对象不能使用jQuery对象的成员

    cwl_java
  • 2018-07-161 初识JQuery

    进入官方网站获取最新的版本 http://jquery.com/download/ ,这里需要注意 jQuery 分 2 个系列版本 1.x 与 2.x,主要...

    JavaEdge

扫码关注云+社区

领取腾讯云代金券