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

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

任意类型的值转换为字符串

toString()

toString()函数返回一个表示该对象的字符串

类型 返回值 例子
数值 相应的字符串 var x = 1; x.toString; // 返回 "1"
字符串 还是原来的值 var x = "qwer"; x.toString(); // 返回 "qwer"
布尔值 true转换为字符串"true" false转换为字符串"false" var x = true; x.toString(); // 返回"true"
对象(非数组) 返回一个类型字符串: "[object,Object]" var x = {a: 1};x.toString(); // 返回"[object,Object]"
对象(数组) 返回该数组的字符串形式 var x = [1,2,3]; x.toString(); // 返回"1,2,3"
null 报错 Uncaught TypeError: Cannot read property 'toString' of null
undefined 报错 Uncaught TypeError: Cannot read property 'toString' of undefined

String()

你也可以使用String函数将任意类型的值转换为字符串

类型 返回值 例子
数值 相应的字符串 var x = 1; String(x); // 返回 "1"
字符串 还是原来的值 var x = "qwer"; String(x); // 返回 "qwer"
布尔值 true转换为字符串"true" false转换为字符串"false" var x = true; String(x); // 返回"true"
对象(非数组) 返回一个类型字符串: "[object,Object]" var x = {a: 1};String(x); // 返回"[object,Object]"
对象(数组) 返回该数组的字符串形式 var x = [1,2,3]; String(x); // 返回"1,2,3"
null 返回字符串"null" var x = null; String(x); // 返回"null"
undefined 返回字符串"undefined" var x = undefined; String(x); // 返回"undefined"
  • 从上述内容可以发现toString() 方法和String() 方法不同之处在于nullundefined 的返回值不同,这是因为String() 方法的底层用的就是toString() 方法,但是String() 针对nullundefinedSymbol 会有特殊处理,所以使用String 方法将其它对象转化为字符串可以被认为是一种更加安全的做法。
  • toSting()方法可以将一个数字转为16进制的数字

加法运算符

  • 加法运算符+是最常见的运算符,用来求两个数值的和。
  • JavaScript 允许非数值的相加。
  • 比较特殊的是,如果是两个字符串相加,这时加法运算符会变成连接运算符,返回一个新的字符串,将两个原字符串连接在一起。
  • 如果一个运算子是字符串,另一个运算子是非字符串,这时非字符串会转成字符串,再连接在一起。
    例如:1 + "a" // "1a" 所以我们利用JS的这种特性可以更快捷的将任意类型的值转换为字符串,
    也就是用一个任意类型的值加上一个空字符串
    和使用String()方法得到的结果是一样的。

任意类型的值转换为布尔值

boolean()

boolean函数可以将任意类型的值转换为布尔值

转换规则

除了以下五个值的转换结果为false,其余的值全为true

  • undefined
  • null
  • -0+0
  • NaN
  • ''(空字符串)

当然false本身转换为布尔值肯定也是false啦。

注意,所有对象(包括空对象)的转换结果都是
true

取反运算符(!)

  • 取反运算符是一个感叹号,用于将布尔值变为相反值,即true变成falsefalse变成true
  • 对于非布尔值,取反运算符会将其转为布尔值。
  • 如果对一个值连续做两次取反运算,等于将其转为对应的布尔值,与Boolean函数的作用相同。这是一种常用的类型转换的写法。

从图中可以看到:
!!得到的结果和
Boolean()方法得到的结果是一样的,所以我们可以用这种更便捷的方法转换为布尔值

任意类型的值转换为数值

Number()

使用Number函数,可以将任意类型的值转化成数值。

parseInt()

parseFloat()

减法运算符

数值运算符

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

你可能感兴趣的文章
如何使用Wireshark抓包
查看>>
mysql 时间函数用法 集合
查看>>
技术宅男既要提升编程技术也要加强沟通能力
查看>>
开源计划--格瓦拉梦想(GUEVARA‘S DREAM)
查看>>
show full columns 和 checking privileges的说明
查看>>
电信网络拓扑图自动布局之总线
查看>>
数据库启动时报ORA-00845错误解决方法
查看>>
查询阿里云存储文件并导出excle 保存到本地
查看>>
WebService-—调用第三方提供的webService服务
查看>>
LVM报错:resize2fs: Bad magic number in super-block
查看>>
从开发到部署会用到的 Docker 命令
查看>>
access数据库转mysql数据库
查看>>
CISCO服务器配置RAID步骤
查看>>
利用makefile文件编译c++源文件
查看>>
VS 0xC0000005 运行错误分析
查看>>
ASP.NET中TextBox控件设置ReadOnly="true"后台取不到值
查看>>
找出Java进程ID pid的N种方法
查看>>
SSH和SFTP简介
查看>>
借助JRebel使Tomcat支持热部署
查看>>
基于Mozilla Thunderbird的扩展开发(八)---进程间通信之Socket篇(续)
查看>>