js(学习笔记) ---- 九层之台,起于累土javascript
// Number 数字:正数 负数 小数 NaN(not a number)不是有效数字java
var num1 = 10
var num2 = -10
var num3 = -0.12
// NaN 属于数字类型 Number
// console.log(typeof NaN) // "number"
// isNaN() 检测一个值是否是NaN(非有效数字)
// 若是是NaN(非有效数字)就返回true 是有效数字就返回false
// 返回false 说明检测的值是有效数字
// console.log(isNaN(num1)) // false
// console.log(isNaN(num2)) // false
// console.log(isNaN(num3)) // false
// console.log(isNaN(NaN)) // true
// console.log(isNaN('abc')) // true
// console.log(isNaN('10px')) // true
// 都是有效数字 isNaN会经过Number方法 先转换成数字 再进行判断
console.log(isNaN('')) // false isNaN(Number('')) => isNaN(0)
// isNaN(Number('2')) => isNaN(2) => false
console.log(isNaN('2')) // false
// isNaN(Number([])) => isNaN(0) => false
console.log(isNaN([])) // false
// isNaN(Number([100])) => isNaN(100) => false
console.log(isNaN([100])) // false
// 记住isNaN再检测值的时候 会默认调用Number先转换成数字 再进行判断
// 将其它类型转换成数字
// Number() 转换的值只要包含有 不是有效数字的字符 返回NaN
// 从左到右 依次查找数字 若是遇到一个字符不是数字 就返回NaN
// 纯数字字符串
// console.log(Number(1)) // 1
// console.log(Number('2')) // 2
// console.log(Number('-2')) // -2
// console.log(Number('0.2')) // 0.2
// console.log(Number('10px')) // NaN
// console.log(Number('px10')) // NaN
// 空字符串 转换成数字 是0
// console.log(Number('')) // 0
// 对于数组 经过Number方法 先将数组转换成字符串 再转换成数字
// 空数组 转换成数字 是0
// console.log(Number([])) // 0
// console.log(Number([100])) // 100 [100] => '100' Number('100') => 100
// 从左到右 依次查找数字 若是遇到一个字符不是数字 就返回NaN
// [100, 10] => '100, 10'
// console.log(Number([100, 10])) // NaN
// 将boolean值转换成数字
// console.log(Number(true)) // 1 true 转换成数字是 1
// console.log(Number(false)) // 0 false 转换成数字是 0
复制代码
// 对象object转换成数字是NaN
// console.log(Number({}))
// console.log(Number({1: 100}))
// var obj1 = {id: 1}
// console.log(Number(obj1))数组
// 正则转换成数字 是NaN
// console.log(Number(/\d+/)) // NaN学习
// 转换成数字(提取成数字)
// parseInt
// parseFloatui
console.log(parseInt('1')) // 1spa
console.log(Number('10px')) // NaNcode
// parseInt 从左到右依次进行提取 若是遇到字符不是数字就中止提取 将提取到数字返回对象
console.log(parseInt('10px')) // 10
console.log(parseInt('a10px')) // NaN
console.log(parseInt('11a10px')) // 11
console.log(parseInt('11111a10px')) // 11111ip
console.log(parseInt('')) // NaN
console.log(parseInt('2019')) // 2019
console.log(parseInt([])) // NaN
console.log(parseInt([100])) // [100] => '100' => 100
console.log(parseInt(true)) // NaN
console.log(parseInt(false)) // NaN字符串
// parseInt 不支持小数 利用它进行取整 不会进行四舍五入
console.log(parseInt('1.5')) // 1
console.log(parseInt('-1.5')) // -1
console.log(parseInt('0.5')) // 0
console.log(parseInt(100.50)) // 100
// parseFloat (浮点型) 识别小数点
console.log(parseFloat(100.50)) // 100.5
// 将其余类型转换成数字 重点
// Number()
// parseInt() 支持进制转换(十进制 二进制 十六进制 八进制)
// parseFloat()
// isNaN()
// Number类型 包含 有效数字 和 NaN
----------------------------------------------------------------------------------------------------------------
参考文章&&强烈推荐:布罗利