博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js中的数据类型和数据类型转换
阅读量:5877 次
发布时间:2019-06-19

本文共 830 字,大约阅读时间需要 2 分钟。

js中的数据类型

原始类型 String Number Boolean Null Undefined Symbol

对象 Object

显式类型转换

显示类型转换是通过调用下面这三个函数来进行的。

  • Number( )
  • String( )
  • Boolean( )

1. Number( )

数值: 转换之后还是数值

字符串: 如果可以被解析为数值,则转为数值,否则转为NaN,空字符串转为0
布尔值: true转成1, false转为0
undefined: 转成NaN
null : 转成0
对象: 这个稍微复杂一些,具体的过程如下

  • 1.如果调用对象本身的valueOf方法返回的是原始数据类型,则调用Number()来对返回的值进行处理。
  • 2.如果调用对象本身的valueOf方法之后返回的复合数据类型,则调用对象自身的toString方法,如果toString的返回值是原始的数据类型,则对该值使用Number()处理,不再进行后续步骤。如果toString返回的是复合的数据类型,则报错。

2. String( )

数值: 转换成对应的字符串

字符串: 还是自身
布尔值 : true转为‘true’ ,false转为‘false’
undefined: 转为“undefined”
null : 转为 ‘null’
对象:这个过程一样是有点复杂,具体的过程如下

  1. 如果调用对象本身的toString方法返回的是原始数据类型,则调用String()来, 不再进行以下步骤。
  2. 如果toString方法返回的是复合类型的值,再调用valueOf方法,如果ValueOf返回的是原始类型的值,则对该值使用String方法,如果valueOf方法返回的是复合类型的值,则报错。

3. Boolean()

除undefined,null,0,NaN,空字符串之外,全部返回true。

隐式类型转换

隐式类型转换的场景大概有如下几种

  1. 四则运算
  2. 判断语句
  3. native调用

转载地址:http://kskix.baihongyu.com/

你可能感兴趣的文章
言未及之而言,谓之躁;言及之而不言,谓之隐;未见颜色而言,谓之瞽(gǔ)...
查看>>
MYSQL查询一周内的数据(最近7天的)
查看>>
Redis的缓存策略和主键失效机制
查看>>
禁止body滚动允许div滚动防微信露底
查看>>
Xtreme8.0 - Kabloom dp
查看>>
jquery css3问卷答题卡翻页动画效果
查看>>
MDK5.00中*** error 65: access violation at 0xFFFFFFFC : no 'write' permission的一种解决方法
查看>>
Android 集成支付宝支付详解
查看>>
SQL分布式查询、跨数据库查询
查看>>
C#------连接SQLServer和MySQL字符串
查看>>
Arcgis Licensemanager 不能启动的原因之一(转载)
查看>>
(原)Android在子线程用handler发送的消息,主线程是怎么loop到的?
查看>>
$digest already in progress 解决办法——续
查看>>
虚拟机 centos设置代理上网
查看>>
Struts2中Date日期转换的问题
查看>>
mysql 数据类型
查看>>
Ubuntu 设置当前用户sudo免密码
查看>>
设置tomcat远程debug
查看>>
android 电池(一):锂电池基本原理篇【转】
查看>>
Total Command 常用快捷键
查看>>