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数组处理多个字符串的连接问题
Aug 20 Javascript
jquery trim() 功能源代码
Feb 14 Javascript
Javascript中的匿名函数与封装介绍
Mar 15 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
Apr 17 Javascript
学习JavaScript设计模式之迭代器模式
Jan 19 Javascript
原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
Feb 03 Javascript
浅谈jQuery添加的HTML,JS失效的问题
Oct 05 Javascript
JS实现的几个常用算法
Nov 12 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
Sep 28 Javascript
新手快速上手webpack4打包工具的使用详解
Jan 28 Javascript
JS实现手写 forEach算法示例
Apr 29 Javascript
JavaScript实现前端网页版倒计时
Mar 24 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下图片文字混合水印与缩略图实现代码
2009/12/11 PHP
php异常处理使用示例
2014/02/25 PHP
PHP生成唯一订单号的方法汇总
2015/04/16 PHP
下载网站打开页面后间隔多少时间才显示下载链接地址的代码
2010/04/25 Javascript
js 实现浏览历史记录示例
2014/04/20 Javascript
理解jQuery stop()方法
2014/11/21 Javascript
switch语句的妙用(必看篇)
2016/10/03 Javascript
Sequelize中用group by进行分组聚合查询
2016/12/12 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
2017/01/22 Javascript
Javascript基础回顾之(一) 类型
2017/01/31 Javascript
BootStrapValidator初使用教程详解
2017/02/10 Javascript
AngularJS前端页面操作之用户修改密码功能示例
2017/03/27 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
2017/11/18 Javascript
详解vue-cli脚手架中webpack配置方法
2018/08/22 Javascript
js实现input密码框显示/隐藏功能
2020/09/10 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
jquery弹窗时禁止body滚动条滚动的例子
2019/09/21 jQuery
python并发2之使用asyncio处理并发
2017/12/21 Python
python绘制多个曲线的折线图
2020/03/23 Python
python web框架 django wsgi原理解析
2019/08/20 Python
python如何保证输入键入数字的方法
2019/08/23 Python
Tensorflow之梯度裁剪的实现示例
2020/03/08 Python
基于python 凸包问题的解决
2020/04/16 Python
html5+css3进度条倒计时动画特效代码【推荐】
2016/03/08 HTML / CSS
使用phonegap进行提示操作的具体方法
2017/03/30 HTML / CSS
毕业生自我鉴定
2013/12/04 职场文书
党员的自我评价范文
2014/01/02 职场文书
个人贷款授权委托书样本
2014/10/07 职场文书
2014小学语文教学工作总结
2014/12/17 职场文书
教师创先争优承诺书
2015/04/27 职场文书
缅怀先烈主题班会
2015/08/14 职场文书
中秋节随笔
2015/08/15 职场文书
导游词之吉林吉塔
2019/11/11 职场文书
Python语法学习之进程的创建与常用方法详解
2022/04/08 Python
使用Python开发冰球小游戏
2022/04/30 Python
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers