javascript数据类型
数据类型 | 值/表达方式 | 特点 | 拥有的方法/属性 | 和其他值的转换 |
数值类型(number) | Nan | 和任何值计算为NaN 和任何值比较都为false | isNaN()方法 isNaN方法可以接受任意类型的值,并强制转换为number类型 并检测最终的结果是不是NaN,如果是则返回true 否则返回false parseInt()方法[全局方法] 把任何值转换为整数 parselnt()方法的基模式(即不同进制间的转换) parseFloat()方法[全局方法] 把数值转换为浮点数(它能够识别第一个出现的小数点,而第二个小数点视为非法)
| 字符串是纯数字则直接转,如果有其他字符则为NaN 布尔值的true为1 false为0 undefined为NaN null为0 object大多数都转为NaN(空数组为0,只有一个值的数组根据这个值来转)
|
十进制/80 |
| |||
二进制/0b1011 | ||||
八进制/072 | ||||
十六进制/0x52f | ||||
正负无穷/Infinity || -Infinity | 向负无穷和正无穷计算的时候,都是Infinity或-Infinity 向0靠拢的时候大多数都是NaN 在项目中大多数出现Infinity都是因为可能某个除数为0 | |||
科学计数法/1.25E5 |
| |||
布尔类型(Boolean) | 真(true) 假(false) |
| 使用Boolean()方法把其他类型转为boolean类型
| number:非(0和NaN)为true,0和NaN为false string:非空为true,空为false undefined和null都是false 对象类型全部都是true |
字符串(String) | “字符串” ‘字符串’ `字符串` | 字符串中可以使用 \(反斜杠)进行转义,把特殊含义的字符转为普通字符,把普通字符转成有特殊含义 使用[+]如果加号两边有任意一边是字符串,则最终会把两边的字符拼接到一起得到一个新的字符串. 使用反引号的插值语法,在反引号字符串的内部想要添加变量 可以在把变量书写在${}中即可 | length属性,代表当前字符串长度(不同于其他编程语言JavaScript不对汉字进行区别对待,即一个汉字占用的长度为1) 下标,与其它语言相同,从0开始. 属性访问表达式str[n],返回字符串下标为n的字符 toString()方法转字符串 toString方法是string number boolean 数组 对象等都有的方法(null和undefiend没有toString方法) String() 函数可以安全地用于 null 和 undefined,不会抛出异常,而是将它们转换成 "null" 和 "undefined" 字符串。 | number类型先转为正常的值,然后再加引号转为字符串 boolean类型,直接加引号转为字符串 -undefined和null,直接加引号转为字符串 数组:去掉中括号,加引号转为字符串 对象:直接转为[object Object] |
空(null) | null | typeof检测null结果是object; 如果要准确判断某个值是否为 null,建议直接使用相等性判断,例如 value === null,而不是依赖 typeof 运算符的结果。 | null和undefined 的区别 undefined和null属于两种不同的类型 undefined隐含着意外的空值,而null隐含着意料之中的空值。因此设置一个变量、参数为空的时候,建议使用null而不是undefined
|
|
未定义(undefined) | undefined | 我们不会对一个值设置undefined,一般都是出现错误的时候,才会被我们打印出来 |
| |
对象类型(object) | Function(函数) 数组(array) 对象(object) |
|
|
|