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 相关文章推荐
自编jQuery插件实现模拟alert和confirm
Sep 01 Javascript
原生javascript实现图片按钮切换
Jan 12 Javascript
基于jQuery实现的美观星级评论打分组件代码
Oct 30 Javascript
jQuery控制frames及frame页面JS的方法
Mar 08 Javascript
JavaScript lodash常见用法系列小结
Aug 24 Javascript
BootStrap table使用方法分析
Nov 08 Javascript
Vue.js中用v-bind绑定class的注意事项
Dec 13 Javascript
html+javascript+bootstrap实现层级多选框全层全选和多选功能
Mar 09 Javascript
微信小程序 图片绝对定位(背景图片)
Apr 05 Javascript
EasyUI实现下拉框多选功能
Nov 07 Javascript
小程序实现图片移动缩放效果
May 26 Javascript
在vue中实现禁止屏幕滚动,禁止屏幕滑动
Jul 22 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
php读取mysql乱码,用set names XXX解决的原理分享
2011/12/29 PHP
微信公众号开发之微信公共平台消息回复类实例
2014/11/14 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
2015/12/16 PHP
jQuery子属性过滤选择器用法分析
2015/02/10 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
Vue.js教程之计算属性
2016/11/11 Javascript
jQuery插件zTree实现获取当前选中节点在同级节点中序号的方法
2017/03/08 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
2017/03/19 Javascript
jQuery插件HighCharts绘制2D饼图效果示例【附demo源码下载】
2017/03/21 jQuery
nodeJs实现基于连接池连接mysql的方法示例
2018/02/10 NodeJs
vue组件name的作用小结
2018/05/23 Javascript
在小程序中使用腾讯视频插件播放教程视频的方法
2018/07/10 Javascript
GOJS+VUE实现流程图效果
2018/12/01 Javascript
Vue将页面导出为图片或者PDF
2020/08/17 Javascript
微信小程序之左右布局的实现代码
2019/12/13 Javascript
Vue中多元素过渡特效的解决方案
2020/02/05 Javascript
js实现超级玛丽小游戏
2020/03/18 Javascript
jquery实现轮播图特效
2020/04/12 jQuery
[01:49]一目了然!DOTA2DotA快捷操作对比第二弹
2014/05/16 DOTA
win与linux系统中python requests 安装
2016/12/04 Python
详解使用pymysql在python中对mysql的增删改查操作(综合)
2017/01/18 Python
Python可变参数用法实例分析
2017/04/02 Python
一个基于flask的web应用诞生 记录用户账户登录状态(6)
2017/04/11 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
2018/04/28 Python
Python读写及备份oracle数据库操作示例
2018/05/17 Python
Python中return self的用法详解
2018/07/27 Python
详解关于Django中ORM数据库迁移的配置
2018/10/08 Python
python爬虫实例之获取动漫截图
2020/05/31 Python
python模拟点击玩游戏的实例讲解
2020/11/26 Python
html5 自定义播放器核心代码
2013/12/20 HTML / CSS
销售员个人求职的自我评价
2014/02/10 职场文书
医师定期考核实施方案
2014/05/07 职场文书
2014年巴西世界杯口号
2014/06/05 职场文书
三分钟自我介绍演讲稿
2014/08/21 职场文书
警察群众路线对照检查材料思想汇报
2014/10/01 职场文书
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL