JavaScript中的数据类型转换方法小结


Posted in Javascript onOctober 26, 2015

JavaScript 变量可以转换为新变量或其他数据类型:

  • 通过使用 JavaScript 函数
  • 通过 JavaScript 自身自动转换

将数字转换为字符串

全局方法 String() 可以将数字转换为字符串。
该方法可用于任何类型的数字,字母,变量,表达式:
实例

String(x)     // 将变量 x 转换为字符串并返回
String(123)    // 将数字 123 转换为字符串并返回
String(100 + 23) // 将数字表达式转换为字符串并返回

Number 方法 toString() 也是有同样的效果。
实例

x.toString()
(123).toString()
(100 + 23).toString()

将布尔值转换为字符串

全局方法 String() 可以将布尔值转换为字符串。
String(false)    // 返回 "false"
String(true)     // 返回 "true"
Boolean 方法 toString() 也有相同的效果。
false.toString()   // 返回 "false"
true.toString()   // 返回 "true"

将日期转换为字符串
全局方法 String() 可以将日期转换为字符串。

String(Date())   // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

Date 方法 toString() 也有相同的效果。
实例

Date().toString()  // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

将字符串转换为数字
全局方法 Number() 可以将字符串转换为数字。
字符串包含数字(如 "3.14") 转换为数字 (如 3.14).
空字符串转换为 0。
其他的字符串会转换为 NaN (不是个数字)。

Number("3.14")  // 返回 3.14
Number(" ")    // 返回 0 
Number("")    // 返回 0
Number("99 88")  // 返回 NaN

一元运算符 +
Operator + 可用于将变量转换为数字:
实例

var y = "5";   // y 是一个字符串
var x = + y;   // x 是一个数字

如果变量不能转换,它仍然会是一个数字,但值为 NaN (不是一个数字):
实例

var y = "John";  // y 是一个字符串
var x = + y;   // x 是一个数字 (NaN)


将布尔值转换为数字
全局方法 Number() 可将布尔值转换为数字。

Number(false)   // 返回 0
Number(true)   // 返回 1

将日期转换为数字
全局方法 Date() 可将日期转换为数字。

d = new Date();
Number(d)     // 返回 1404568027739

日期方法 getTime() 也有相同的效果。

d = new Date();
d.getTime()    // 返回 1404568027739

自动转换类型 Type Conversion
当 JavaScript 尝试操作一个 "错误" 的数据类型时,会自动转换为 "正确" 的数据类型。
以下输出结果不是你所期望的:

5 + null  // 返回 5     because null is converted to 0
"5" + null // 返回"5null"  because null is converted to "null"
"5" + 1   // 返回 "51"   because 1 is converted to "1" 
"5" - 1   // 返回 4     because "5" is converted to 5

自动转换为字符串
当你尝试输出一个对象或一个变量时 JavaScript 会自动调用变量的 toString() 方法:

document.getElementById("demo").innerHTML = myVar;

// if myVar = {name:"Fjohn"} // toString 转换为 "[object Object]"
// if myVar = [1,2,3,4]    // toString 转换为 "1,2,3,4"
// if myVar = new Date()   // toString 转换为 "Fri Jul 18 2014 09:08:55 GMT+0200"

数字和布尔值也经常相互转换:

// if myVar = 123       // toString 转换为 "123"
// if myVar = true      // toString 转换为 "true"
// if myVar = false      // toString 转换为 "false"
Javascript 相关文章推荐
基于javascript实现checkbox复选框实例代码
Jan 28 Javascript
文本框只能输入数字的实现方法(兼容IE火狐)
Jun 25 Javascript
js常用DOM方法详解
Feb 04 Javascript
JS实现新建文件夹功能
Jun 17 Javascript
不使用 JS 匿名函数理由
Nov 17 Javascript
JS实现留言板功能[楼层效果展示]
Dec 27 Javascript
Vue Socket.io源码解读
Feb 07 Javascript
JavaScript ES6中的简写语法总结与使用技巧
Dec 30 Javascript
深入koa-bodyparser原理解析
Jan 16 Javascript
VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析
Dec 02 Javascript
JavaScript基于SVG的图片切换效果实例代码
Dec 15 Javascript
代码块高亮可复制显示js插件highlight.js+clipboard.js整合
Feb 15 Javascript
如何实现JavaScript动态加载CSS和JS文件
Dec 28 #Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
Oct 26 #Javascript
JS实现的页面自定义滚动条效果
Oct 26 #Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
Oct 26 #Javascript
JS响应鼠标点击实现两个滑块区间拖动效果
Oct 26 #Javascript
javaScript实现可缩放的显示区效果代码
Oct 26 #Javascript
JS基于VML技术实现的五角星礼花效果代码
Oct 26 #Javascript
You might like
Terran兵种介绍
2020/03/14 星际争霸
长波知识介绍
2021/03/01 无线电
用ODBC的分页显示
2006/10/09 PHP
Mysql和网页显示乱码解决方法集锦
2008/03/27 PHP
基于asp+ajax和数据库驱动的二级联动菜单
2010/05/06 PHP
PHP实现删除字符串中任何字符的函数
2015/08/11 PHP
JAVASCRIPT keycode总结
2009/02/04 Javascript
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
JQuery切换显示的效果实例代码
2013/02/27 Javascript
Jquery实现自定义tooltip示例代码
2014/02/12 Javascript
jquery制作select列表双向选择示例代码
2014/09/02 Javascript
Javascript学习指南
2014/12/01 Javascript
微信JS接口大全
2016/08/25 Javascript
jQuery实现字体颜色渐变效果的方法
2017/03/29 jQuery
bootstrap响应式表格实例详解
2017/05/15 Javascript
深究AngularJS中$sce的使用
2017/06/12 Javascript
JavaScript中数组常见操作技巧
2017/09/01 Javascript
vue单个组件实现无限层级多选菜单功能
2018/04/10 Javascript
微信小程序实现漂亮的弹窗效果
2020/05/26 Javascript
js数据类型检测总结
2018/08/05 Javascript
js消除图片小游戏代码
2019/12/11 Javascript
解决antd Form 表单校验方法无响应的问题
2020/10/27 Javascript
Python numpy实现数组合并实例(vstack,hstack)
2018/01/09 Python
Python生成rsa密钥对操作示例
2019/04/26 Python
获取django框架orm query执行的sql语句实现方法分析
2019/06/20 Python
如何使用python代码操作git代码
2020/02/29 Python
求最大连续递增数字串(如"ads3sl456789DF3456ld345AA"中的"456789")
2015/09/11 面试题
长安大学毕业生自我鉴定
2014/01/17 职场文书
2014年教师个人工作总结
2014/11/10 职场文书
保安辞职信范文
2015/02/28 职场文书
运动会运动员赞词
2015/07/22 职场文书
导游词之河北白洋淀
2020/01/15 职场文书
Python爬虫之爬取最新更新的小说网站
2021/05/06 Python
《异世界四重奏》剧场版6月10日上映 PV视觉图原创角色发表
2022/03/20 日漫
MySQL分区以及建索引的方法总结
2022/04/13 MySQL
本地搭建minio文件服务器(使用bat脚本启动)的方法
2022/07/15 Servers