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 相关文章推荐
JS 容错处理代码, 屏蔽错误信息
Mar 09 Javascript
分享精心挑选的23款美轮美奂的jQuery 图片特效插件
Aug 14 Javascript
Jquery加载时从后台读取数据绑定到dropdownList实例
Jun 09 Javascript
深入理解JavaScript系列(33):设计模式之策略模式详解
Mar 03 Javascript
jQuery animate easing使用方法图文详解
Jun 17 Javascript
用原生JS对AJAX做简单封装的实例代码
Jul 13 Javascript
网络传输协议(http协议)
Nov 18 Javascript
Express之get,pos请求参数的获取
May 02 Javascript
Vue.js tab实现选项卡切换
May 16 Javascript
JS中使用textPath实现线条上的文字
Dec 25 Javascript
vue2.0$nextTick监听数据渲染完成之后的回调函数方法
Sep 11 Javascript
angularjs请求数据的方法示例
Aug 06 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防止站外远程提交表单的方法
2014/10/20 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
2014/10/31 PHP
PIGCMS 如何关闭聊天机器人
2015/02/12 PHP
浅谈laravel框架sql中groupBy之后排序的问题
2019/10/17 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
网页中CDATA标记的说明
2010/09/12 Javascript
jquery div拖动效果示例代码
2013/12/08 Javascript
AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法
2014/06/06 Javascript
JS中实现简单Formatter函数示例代码
2014/08/19 Javascript
JavaScript 事件对象介绍
2015/04/13 Javascript
JavaScript中使用Math.floor()方法对数字取整
2015/06/15 Javascript
jquery获取多个checkbox的值异步提交给php
2015/07/07 Javascript
js数组如何添加json数据及js数组与json的区别
2015/10/27 Javascript
AngularJS控制器之间的数据共享及通信详解
2016/08/01 Javascript
JS实现鼠标移上去显示图片或微信二维码
2016/12/14 Javascript
Bootstrap table两种分页示例
2016/12/23 Javascript
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
详解webpack之scss和postcss-loader的配置
2018/01/09 Javascript
vue-cli3.0使用及部分配置详解
2018/08/29 Javascript
es6中reduce的基本使用方法
2019/09/10 Javascript
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
node.js基于dgram数据报模块创建UDP服务器和客户端操作示例
2020/02/12 Javascript
jQuery插件实现图片轮播效果
2020/10/19 jQuery
微信小程序自定义底部弹出框动画
2020/11/18 Javascript
Python解决抛小球问题 求小球下落经历的距离之和示例
2018/02/01 Python
pandas.DataFrame选取/排除特定行的方法
2018/07/03 Python
python中字符串数组逆序排列方法总结
2019/06/23 Python
python代码 FTP备份交换机配置脚本实例解析
2019/08/01 Python
python如何建立全零数组
2020/07/19 Python
利用纯css3实现的文字亮光特效的代码演示
2014/11/27 HTML / CSS
.net笔试题
2014/03/03 面试题
安全环保演讲稿
2014/08/28 职场文书
2016年员工政治思想表现评语
2015/12/02 职场文书
大学生党员暑假实践(活动总结)
2019/08/21 职场文书
人生一定要学会的三样东西:放下、忘记、珍惜
2019/08/21 职场文书
多台电脑共享文件怎么设置?多台电脑共享文件操作教程
2022/04/08 数码科技