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之七 判断点击了鼠标哪个键的代码
Jun 21 Javascript
JavaScript初学者应注意的七个细节详细介绍
Dec 27 Javascript
js控制table合并具体实现
Feb 20 Javascript
jquery判断浏览器后退时候弹出消息的方法
Aug 11 Javascript
jQuery使用slideUp方法实现控制元素缓慢收起
Mar 27 Javascript
javascript单例模式的简单实现方法
Jul 25 Javascript
jquery实现表单输入时提示文字滑动向上效果
Aug 10 Javascript
javascript中Date对象应用之简易日历实现
Jul 12 Javascript
JS公共小方法之判断对象是否为domElement的实例
Nov 25 Javascript
webpack+vue中使用别名路径引用静态图片地址
Nov 20 Javascript
20个必会的JavaScript面试题(小结)
Jul 02 Javascript
从原生JavaScript到React深入理解
Jul 23 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简介
2006/10/09 PHP
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
2007/09/24 PHP
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
2010/12/29 PHP
PHP 获取文件路径(灵活应用__FILE__)
2013/02/15 PHP
Smarty中常用变量操作符汇总
2014/10/27 PHP
3款值得推荐的微信开发开源框架
2014/10/28 PHP
php 修改上传文件大小限制实例详解
2016/10/23 PHP
一款JavaScript压缩工具:X2JSCompactor
2007/06/13 Javascript
JQuery对class属性的操作实现按钮开关效果
2013/10/11 Javascript
js复制网页内容并兼容各主流浏览器的代码
2013/12/17 Javascript
jQuery事件用法实例汇总
2014/08/29 Javascript
node.js中的fs.utimes方法使用说明
2014/12/15 Javascript
jQuery Easyui datagrid editor为combobox时指定数据源实例
2016/12/19 Javascript
ES6新增的math,Number方法
2017/08/06 Javascript
JS库之wow.js使用方法
2017/09/14 Javascript
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
2017/10/20 Javascript
深度了解vue.js中hooks的相关知识
2019/06/14 Javascript
vue使用i18n实现国际化的方法详解
2019/09/05 Javascript
Vue实现手机计算器
2020/08/17 Javascript
[02:25]DOTA2英雄基础教程 虚空假面
2014/01/02 DOTA
重命名批处理python脚本
2013/04/05 Python
python正则匹配抓取豆瓣电影链接和评论代码分享
2013/12/27 Python
Python文件操作类操作实例详解
2014/07/11 Python
python按照多个字符对字符串进行分割的方法
2015/03/17 Python
Python语言实现获取主机名根据端口杀死进程
2016/03/31 Python
Python3编码问题 Unicode utf-8 bytes互转方法
2018/10/26 Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
2018/11/07 Python
win7 x64系统中安装Scrapy的方法
2018/11/18 Python
Django实现文件上传下载功能
2019/10/06 Python
15行Python代码实现免费发送手机短信推送消息功能
2020/02/27 Python
英国的知名精品百货公司:House of Fraser(福来德)
2016/08/14 全球购物
有机童装:Toby Tiger
2018/05/23 全球购物
如何提高SQL Server的安全性
2016/07/25 面试题
2016年学校爱国卫生月活动总结
2016/04/06 职场文书
python文本处理的方案(结巴分词并去除符号)
2021/05/26 Python
MySQL实现字段分割一行转多行的示例代码
2022/07/07 MySQL