跟我学JavaScript--类型转换

JavaScript数据类型

5种数据类型:

  • string
  • number
  • boolean
  • object
  • function

2种不包含任何值的数据类型:

  • null
  • undefined

3种对象类型:

  • Object
  • Date
  • Array

注:可以使用typeof操作符查看变量数据类型,但如果对象是 JavaScript Array 或 JavaScript Date ,我们就无法通过 typeof 来判断他们的类型,因为都是 返回 Object

typeof NaN         //number
typeof [1,2,3]     //object
typeof new Date()  //object
typeof null        //object
typeof undefined   //undefined 

JavaScript类型转换

  • Number() 转换为数字
  • String() 转换为字符串
  • Boolean() 转换为布尔值
  • 通过使用JavaScript函数
  • 通过JavaScript自身自动转换

将数字/布尔值/日期转换为字符串:

  • 全局方法:String()
数字转换为字符串:
var x = 123;
String(x)        //123,将变量x转换为字符串
String(123)      //123,将数字123转换为字符串
String(100+23)   //123,将数字表达式转换为字符串
布尔值转换为字符串:
String(false)  //"false"
String(true)   //"true"
日期转换为字符串:
String(Date())  //Thu Apr 25 2017 19:40:19 GMT+0200 (W. Europe Daylight Time)
  • Number/Boolean/Date方法:toString()
数字转换为字符串:
var x = 123;
x.toString()          //123,将变量x转换为字符串
(123).toString()      //123,将数字123转换为字符串
(100+23).toString()   //123,将数字表达式转换为字符串
布尔值转换为字符串:
false.toString()  //"false"
true.toString()   //"true"
日期转换为字符串:
Date().toString()  //Thu Apr 25 2017 19:40:19 GMT+0200 (W. Europe Daylight Time)

把字符串/布尔值/日期转换为数字:

  • 全局方法:Number()
字符串转换为数字:
Number("21")   //21,将字符串转换为数字
Number(" ")    //0,空字符串转换为0
Number("")     //0
Number(20 21)  //NaN,其他字符串转换为NaN(不是个数字)
布尔值转换为数字:
Number(false)  //0
Number(true)   //1
日期转换为数字:
Number(new Date())       //1493128272136
  • 日期方法:getTime()
new Date().getTime()     //1493128272136

自动转换类型

JavaScript会将一个“错误”的数据类型自动转换为“正确”的数据类型

如.

5 + null      // 返回 5         null 转换为 0
"5" + null    // 返回"5null"   null 转换为 "null"
"5" + 1       // 返回 "51"      1 转换为 "1"  
"5" - 1       // 返回 4         "5" 转换为 5

自动转换为字符串

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

输出myVar时:

 if myVar = {name:"Nico"}  // toString 转换为 "[object Object]"
 if myVar = [1,2,3,4]       // toString 转换为 "1,2,3,4"
 if myVar = new Date()      // toString 转换为 "Thu Apr 25 2017 22:06:55 GMT+0200"

数字和布尔值之间相互转换:

if myVar = 123             // toString 转换为 "123"
if myVar = true            // toString 转换为 "true"
if myVar = false           // toString 转换为 "false"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值