javascript 拾遗

发布时间 2023-06-20 01:24:05作者: 闭区间

基本吹牛逼类型

基础概念
	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