基本吹牛逼类型
基础概念
1.ECMAscript 是 javascript 的标准 javascript 是 ECMAscript 的实现
js基础知识
js的数据类型
1.js一共有 8 种数据类型 es5 6 种 后面又添加了 2 种
1.Undefined String Symbol Object Null Number Boolean BigInt
2.Number
1.Number.MAX_VALUE,Number.MIN_VALUE
2.检查数据类型
1.typeOf 会返回 string number function boolean
1.number
1.NaN not a number typeOf(NaN) 返回 Number
2.Infinity -Infinity 分别表示正无穷 和 负无穷 typeOf(Infinity) 返回 Number
1.typeOf [] {} null 都是 object
2.typeOf undefined 返回 undefined
3.type Symbol("a") 返回 symbol
4.type BitInt(5) 返回 bigint
3.typeOf 总共返回 8 钟类型标识
3.数据类型转换
1.转换为 string
1.a.toString
1.对于 null 和 undefined 不会调用toString 而是内部 直接 转为 "null" "undefined"
2.String(a)
3.转为字符串 123 + "a" 先把123转为字符串 + ”a“ -> "123a"
2.转 number
1.Number("12") 12 纯数字 直接转化为数字
2.Number("") Number(" ") 空字符串 含空格也一样 转换为 0
3.Number("123px") 稍有不行 转为 NaN
console.log(Number(undefined)) //NaN
console.log(Number(NaN)) //NaN
console.log(Number({})) //NaN
console.log(Number(function(){})) //NaN
console.log("---------------------------")
console.log(Number(true)) //1
console.log(Number(false))//0
console.log(Number("123"))//123
console.log(Number(" "))//0
console.log(Number([]))//0
console.log(Number(null))//0
console.log(+"123")//123
console.log(0+"123")//"0123"
1.一元运算符 + 可以转为为数字 也是调用 Number
2.0 + ”123“ -> "0123"
4.parseInt("123px") 123
0.对于 非 string 的类型转换为 先转换为 string 再进行 解析
1.parseInt(true) -> parseInt("true") -> NaN
5.parseFloat
6.数据的表示种类
1.十进制 12
2.十六进制 0xaf
3.八进制 07
4.二进制 0b011
5.转换的时候可以指定进制 parseInt(a,8) 把 a 转为为 8 进制
7."123" * 1 -> 123 过程 Number("123") -> 123
1.+ - * / % 任何操作符操作 除了 + 遇到 字符串 转换为字符串 其他的任何运算符号 都转换为 数字运行
2.转换过程 Number() true + true = 2
3."123" - 1 = 122
3.boolean
1.以下 6 种 false 类型
1.fasle
2.0
3.空字符串”“ ” “ 有空格都不行 空格都是true
4.null
5.undefined
6.NaN