JavaScript 五种基本数据类型(下)

上篇文章 JavaScript 五种基本数据类型(上)的子妹篇。
如未作出特殊说明,本文例子均在Chrome控制台进行测试。

三、类型转换

显式(强制)类型转换
  1. 定义:主要指使用Number、Boolean、String、toString、parseInt、parseFloat将各种数据类型与String、Number、Boolean三种基本数据类型进行相互转换。

  2. 转换
    (1)Number、parseInt、parseFloat,参数为Object对象、字符串、布尔类型、数组对象:

parseInt({})
NaN

Number({})
NaN

Number({0:1})
NaN

Number(true)
1

parseFloat(true)
NaN

parseInt(true)
NaN

Number("1")
1

parseFloat('1')
1

parseInt('1')
1

Number('1a')
NaN

parseFloat('a1')
NaN

parseInt('a1')
NaN

parseInt('33ee')
33

parseFloat('33ee')
33
-----------------------------Number转换规则更严格----------------------
Number('33 ee')
NaN

parseFloat('33 ee')
33

parseInt('33 ee')
33
---------------------------------Number转换规则更严格------------------

数组作为参数
Number([])
0
Number([1])
1
Number([1,2])
NaN
Number(['1'])
1
Number(['12'])
12
Number(['12a'])
NaN
Number(['12 a'])
NaN


parseInt([])
NaN
parseInt([1])
1
parseInt([1,2])
1
parseInt(['1'])
1
parseInt(['12'])
12
parseInt(['12a'])
12
parseInt(['12 a'])
12


parseFloat([])
NaN
parseFloat([1])
1
parseFloat([1,2])
1
parseFloat(['1'])
1
parseFloat(['12'])
12
parseFloat(['12a'])
12
parseFloat
12

(2)Boolean,参数为Object对象、字符串、数字类型、数组对象:

Boolean({})
true

Boolean("a")//非空字符串都为true
true

Boolean("")
false

Boolean(1)
true

Boolean(2)
true

Boolean(0)
false

Boolean(1.1)
true

Boolean(-0)
false

Boolean(-1)
true

(3)String和toString,参数为Object对象、数组对象、数字、布尔类型:

----------------------------------string方法------------------------------------
String(true)
"true"

String(1)
"1"

String(1.1)
"1.1"
----------------------------------string方法------------------------------------

----------------------------------toString方法---------------------------------
var a = 1;a.toString()
"1"

var b = true; b.toString()
"true"

var c = []; c.toString()
""

var d = {}; d.toString()
"[object Object]"

var e = [1]; e.toString()
"1"

var c = ['1']; c.toString()
"1"
----------------------------------toString方法---------------------------------

关于toString(),详见 关于valueOf() 和 toString(),我们需要知道的事儿

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2e6ek1a3vmjoo

猜你喜欢

转载自blog.csdn.net/bengxu/article/details/80248067