位置:电子教程 > JavaScript教程 (如果看不到内容请使用360浏览器) 推荐学习资源
课程概要
JavaScript入门
JavaScript 语法
JavaScript 变量
JavaScript 数据类型
JavaScript 对象
JavaScript 函数
JavaScript 作用域
JavaScript 事件
JavaScript 字符串
JavaScript 运算符
JavaScript 比较 和 逻辑运算符
JavaScript if...Else 语句
JavaScript switch 语句
JavaScript for 循环
JavaScript while 循环
JavaScript break 和 continue 语句
JavaScript typeof, null, 和 undefined
JavaScript 类型转换
JavaScript 正则表达式
JavaScript 错误 - throw、try 和 catch
当前阅读教程:JavaScript教程 > 自动转换类型
阅读(22555525)      收藏       赞(5685)      分享
上一篇: 将日期转换为数字 下一篇: JavaScript 正则表达式

自动转换类型

JavaScript 尝试操作一个 "错误" 的数据类型时,会自动转换为 "正确" 的数据类型。

以下输出结果不是你所期望的:

5 + null    // 返回 5          null 转换为 0

"5" + null  // 返回"5null"   null 转换为 "null"

"5" + 1     // 返回 "51"      1 转换为 "1"

"5" - 1     // 返回 4         "5" 转换为 5

 

 

自动转换为字符串

当你尝试输出一个对象或一个变量时 JavaScript 会自动调用变量的 toString() 方法:

document.getElementById("demo").innerHTML = myVar;

 

myVar = {name:"Fjohn"}  // toString 转换为 "[object Object]"

myVar = [1,2,3,4]       // toString 转换为 "1,2,3,4"

myVar = new Date()      // toString 转换为 "Fri Jul 18 2014 09:08:55 GMT+0200"

数字和布尔值也经常相互转换:

myVar = 123             // toString 转换为 "123"

myVar = true            // toString 转换为 "true"

myVar = false           // toString 转换为 "false"

下表展示了使用不同的数值转换为数字(Number), 字符串(String), 布尔值(Boolean):

原始值

转换为数字

转换为字符串

转换为布尔值

false

0

"false"

false

true

1

"true"

true

0

0

"0"

false

1

1

"1"

true

"0"

0

"0"

true

"000"

0

"000"

true

"1"

1

"1"

true

NaN

NaN

"NaN"

false

Infinity

Infinity

"Infinity"

true

-Infinity

-Infinity

"-Infinity"

true

""

0

""

false

"20"

20

"20"

true

"Runoob"

NaN

"Runoob"

true

[ ]

0

""

true

[20]

20

"20"

true

[10,20]

NaN

"10,20"

true

["Runoob"]

NaN

"Runoob"

true

["Runoob","Google"]

NaN

"Runoob,Google"

true

function(){}

NaN

"function(){}"

true

{ }

NaN

"[object   Object]"

true

null

0

"null"

false

undefined

NaN

"undefined"

false


上一篇: 将日期转换为数字 下一篇: JavaScript 正则表达式
计算机毕业设计作品网      毕业设计文档网      小程序教程网       毕业设计资料网  |         毕业设计定制QQ:45157718(微信同号)(备注:毕设)