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 相关文章推荐
Extjs4实现两个GridPanel之间数据拖拽功能具体方法
Nov 21 Javascript
JavaScript 学习笔记之数据类型
Jan 14 Javascript
移动设备web开发首选框架:zeptojs介绍
Jan 29 Javascript
Javascript中With语句用法实例
May 14 Javascript
jQuery页面元素动态添加后绑定事件丢失方法,非 live
Jun 16 Javascript
Angular的自定义指令以及实例
Dec 26 Javascript
js实现网页的两个input标签内的数值加减(示例代码)
Aug 15 Javascript
JavaScript动态绑定详解
Sep 14 Javascript
React-native桥接Android原生开发详解
Jan 17 Javascript
vue表单自定义校验规则介绍
Aug 28 Javascript
vue中 v-for循环的用法详解
Feb 19 Javascript
js实现从右往左匀速显示图片(无缝轮播)
Jun 29 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
php的ajax框架xajax入门与试用介绍
2010/12/19 PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
2016/05/30 PHP
PHP序列化操作方法分析
2016/09/28 PHP
Laravel 框架路由原理与路由访问实例分析
2020/04/14 PHP
json 定义
2008/06/10 Javascript
JavaScript几种形式的树结构菜单
2010/05/10 Javascript
jquery弹出框的用法示例(2)
2013/08/26 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
2013/09/10 Javascript
jQuery extend 的简单实例
2013/09/18 Javascript
js封装可使用的构造函数继承用法分析
2015/01/28 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
2015/04/03 Javascript
javascript结合Flexbox简单实现滑动拼图游戏
2016/02/18 Javascript
js实现String.Fomat的实例代码
2016/09/02 Javascript
jQuery实现标签页效果实战(4)
2017/02/08 Javascript
JavaScript中最常用的10种代码简写技巧总结
2017/06/28 Javascript
判断div滑动到底部的scroll实例代码
2017/11/15 Javascript
Vue 实例事件简单示例
2019/09/19 Javascript
windows实现npm和cnpm安装步骤
2019/10/24 Javascript
原生js实现照片墙效果
2020/10/13 Javascript
[11:57]《一刀刀一天》第十七期:TI中国军团加油!
2014/05/26 DOTA
[20:57]Ti4主赛事第三天开幕式
2014/07/21 DOTA
浅谈Python中列表生成式和生成器的区别
2015/08/03 Python
使用Python读写文本文件及编写简单的文本编辑器
2016/03/11 Python
Python如何读取MySQL数据库表数据
2017/03/11 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
2019/09/23 Python
用python拟合等角螺线的实现示例
2019/12/27 Python
IDLE下Python文件编辑和运行操作
2020/04/25 Python
Python识别验证码的实现示例
2020/09/30 Python
Html5上传图片 移动端、PC端通用代码
2016/06/08 HTML / CSS
Html5跳转到APP指定页面的实现
2020/01/14 HTML / CSS
canvas实现图片镜像翻转的2种方式
2020/07/22 HTML / CSS
匡威俄罗斯官网:Converse俄罗斯
2020/05/09 全球购物
this关键字的作用
2016/01/30 面试题
个人四风问题对照检查材料
2014/09/26 职场文书
javascript的var与let,const之间的区别详解
2022/02/18 Javascript