JS 里的数据类型(一)
笔记
◆JavaScript 6种数据类型,新增symbol,则7种。其中,数值、字符串、布尔值这三种类型,合称为原始类型(primitive type)的值;对象则称为合成类型(complex type)的值。
WechatIMG2.png
◆JavaScript 有三种方法,可以确定一个值到底是什么类型:
1、typeof运算符
2、instanceof运算符
3、Object.prototype.toString方法
★null 和 undefined
null是一个表示“空”的对象,转为数值时为0;
undefined是一个表示"此处无定义"的原始值,转为数值时为NaN。
注意:返回undefined的典型场景
★boolean
下列运算符会返回布尔值:
前置逻辑运算符: ! (Not)
相等运算符:===,!==,==,!=
比较运算符:>,>=,<,<=
转换规则 除了下面六个值被转为false,其他值都为true。
undefined
null
false
0
NaN
""或''(空字符串)
注意 : 空数组([])和空对象({})对应的布尔值,都是true。
★数值
◆JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。
◆JavaScript 对整数提供四种进制的表示方法:十进制、十六进制、八进制、二进制。
十进制:没有前导0的数值。
八进制:有前缀0o或0O的数值,或者有前导0、且只用到0-7的八个阿拉伯数字的数值。
十六进制:有前缀0x或0X的数值。
二进制:有前缀0b或0B的数值。
◆通常来说,有前导0的数值会被视为八进制,但是如果前导0后面有数字8和9,则该数值被视为十进制。
◆特殊数值
1、正零和负零
2、NaN
表示“非数字”(Not a Number),主要出现在将字符串解析成数字出错的场合。
NaN的数据类型依然属于Number,使用typeof运算符可以看得很清楚。
-Infinity
◆与数值相关的全局方法
1、parseInt()
1)“字符串”的作用
2)如果字符串的第一个字符不能转化为数字(后面跟着数字的正负号除外),返回NaN。
3)parseInt的返回值只有两种可能,要么是一个十进制整数,要么是NaN。
2、parseFloat() -----将一个字符串转为浮点数
3、isNaN()--------------用来判断一个值是否为NaN
1)isNaN只对数值有效,如果传入其他值,会被先转成数值。
4、isFinite()-------------返回一个布尔值,表示某个值是否为正常的数值。
★字符串
放在' . '或" . "之中
反斜杠,用来转义
由于 HTML 语言的属性值使用双引号,所以很多项目约定 JavaScript 语言的字符串只使用单引号
字符串默认只能写在一行内,分成多行将会报错。
如果长字符串必须分成多行,可以在每一行的尾部使用反斜杠。但是,输出的时候还是单行。
◆ 转义
需要用反斜杠转义的特殊字符,主要有下面这些
\0 :null(\u0000)
\n :换行符(\u000A)
\r :回车键(\u000D)
' :单引号(\u0027)
" :双引号(\u0022)
\ :反斜杠(\u005C)
◆ 字符串与数组
字符串可以被视为字符数组,however内部的单个字符无法改变和增删
◆ length 属性
该属性也是无法改变的
★字符集
JavaScript 使用 Unicode 字符集。JavaScript 引擎内部,所有字符都用 Unicode 表示。