在JavaScript中,数据类型可以分为基本数据类型和引用数据类型,其中基本数据类型包括 Undefined、Null、Boolean、Number、String 5种,在 ES6 中新增了一种新的基本数据类型 Symbol,这个会在第 7 章中讲到;引用数据类型含有 Object、Function、Array、Date等类型,这些将会在第 2 章和第 3 章重点讲解。
——《JavaScript重难点实例精讲》
数据声明
var num1 = 024 // 20
var num2 = 079 // 79
{/tabs-pane}
{tabs-pane label="十六进制"}
规则:以 0x 为首, 其他数字在 0~9 a~f A~F 之间, 否则 抛出异常
范例:
var num3 = 0x3f // 63
var num4 = 0x2g // SyntaxError: invalid or unexpected token
{/tabs-pane}
{tabs-pane label="十进制"}
规则:普通十进制规则即可
范例:
var num5 = 100;
{/tabs-pane}
类型转换
- 字符串只包含数字的, 转成 十进制 , 首位 0 会被忽略
- 字符串包含有效浮点数, 转成 十进制
- 字符串包含有效十六进制数, 转成 十进制
- 空字符串转成 0, 包括空格串
- 其他均为 NaN
{/tabs-pane}
{tabs-pane label="object 转换"}
- 优先调用 valueOf() 函数, 根据其返回值按照上述规则进行转换
- 如果结果是 NaN, 则调用 toString() 重新转换
- 如果结果是 Number 类型, 转换成功, 否则返回 NaN
{/tabs-pane}
{tabs-pane label="boolean 转换"}
- true 是 1
- false 是 0
{/tabs-pane}
{tabs-pane label="null 和 undefined 转换"}
- null 是 0
- undefined 是 NaN
{/tabs-pane}
类型转换函数
参数是 number
根据进制格式返回对应的 十进制 数, 规则和数据声明类似
Number(10) // 10
Number(010) // 8
Number(0x10) // 16
Number(0xhh) // SyntaxError: Invalid or unexpected token
参数是 boolean
Number(true) // 1
Number(false) // 0
参数是 null 和 undefined
Number(null) // 0
Number(undefined) // NaN
参数是 string
与类型转换部分的相同, 这里只举一些范例:
// 十进制
Number('21') // 21
Number('012') // 12
// 十六进制
Number('0x12') // 18
Number('0x21') // 33
// 浮点数
Number('0.12') // 0.12
Number('00.12') // 0.12
// 空串和空格串
Number('') // 0
Number(' ') // 0
// 其他
Number('123a') // NaN
应当 引起注意 的是, 八进制格式的数字在这里有些特殊, 因为首位的 0 们 会被忽略, 因此八进制格式的数是直接按照十进制的格式输出了:
// 八进制
Number('010') // 10 而不是 8
Number('0020') // 20 而不是 16
参数是 object
与前面的内容是一致的
{/tabs-pane}
{tabs-pane label="parseInt() 函数"}
{/tabs-pane}
{tabs-pane label="parseFloat() 函数"}
标签二内容
{/tabs-pane}
评论 (0)