Boolean 和 Number 类型

未匹配的标注

Boolean

将一个值转为 Boolean 类型的函数 Boolean()

console.log(Boolean(undefined)); // false
console.log(Boolean(0)); // false
console.log(Boolean('')); // false
console.log(Boolean(null)); // false

// 注意下面
console.log(Boolean({})); // true
console.log(Boolean([])); // true

Number

浮点数值计算有误差

var a = 0.1, b = 0.2;
console.log(a + b) // 0.30000000000000004

// 这样是错误的
if (a  +  b  ==  0.3) {}

NaN 值

Not a Number。
判断 “不是数值” :isNaN()

数值转化

转的结果要么是数值,要么是 NaN。
Number() 任何数据类型都能转,对象类型的转换遵循这个原则:
调用对象的 valueof() 方法,再按照其他类型的规则转换返回的值,如果转换结果为 NaN,则调用对象的 toString() 方法,再按照转换返回的字符串值。

parseInt()parseFloat() 适用于解析字符串 (因Number()转化字符串时比较复杂且不够合理)

parseInt()

由于 parseInt()
建议无论在什么情况下都明确指定基数

console.log(parseInt(10, 2)); // 2 (按二进制解析)
console.log(parseInt(10, 8)); // 8 (按八进制解析)
console.log(parseInt(10, 10)); // 10 (按十进制解析)
console.log(parseInt(10, 16)); // 16 (按十六进制解析)

parseFloat()

var a = parseFloat("22.5")
console.log(a, typeof a); // 22.5 "number"

parseFloat() 只解析十进制值,如"0xA" 被解析为 0
第二点,字符串如果可以解析为整数,parseFloat() 会返回整数。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~