Javascript 基本数据类型
数据类型简介和检测
基本数据类型
- null 类型
- 表示“空”,它是“空对象”
- 当我们需要将对象销毁、数组销毁或者删除事件监听时,通常将它们设置为null
box.click = null
- 使用 typeof 检测 null 值,结果是object,这点尤其要注意
- 类型和typeof 检测结果并不是一一对应的,比如数组用typeof检测出来的结果也是object
- undefined 类型
- 一个没有被复制的变量的默认值是undefined,而undefine的类型也是undefined
- 即:undefined又是值,又是一种类型,这种类型只有它自己一个值
- 布尔类型 (Boolean)
- 布尔型值只有两个:true 和 fasle,分别表示真和假
- 字符串类型(String)
- 字符串要用引号包裹,双引号或者单引号均可
- 加号可以用来拼接多个字符串
- 空字符串,直接写闭合的引号即可
- 字符串的 length 属性表示字符串的长度
- 字符串的常用方法
- charAt()
- 得到指定位置字符
- substring()
- 提取子串
- substring(a,b) 方法得到从 a 开始到b结束(不包含b处)的子串
- 如果省略第二个参数,返回字符串一直到字符串的结尾
- substring(a,b) 中,a 可以大于 b ,数字顺序将自动调整为小数在前
- 提取子串
- substr()
- 提取子串
- substr(a,b) 方法得到从 a 开始的 长度为b的子串
- 子串的长度而不是编号
- substr(a,b) 方法 b 参数可以省略,表示到文档的结尾
- substr(a,b) 方法中,a可以是负数,表示倒数位置
- substr(a,b) 方法得到从 a 开始的 长度为b的子串
- 提取子串
- slice()
- 提取子串
- slice(a,b) 方法得到从 a 开始到b结束(不包含b处)的子串
- slice(a,b) 方法 a 参数可以是负数
- slice(a,b) 方法 a 参数必须小于b
- 提取子串
- toUpperCase()
- 将字符串变为大写
- toLowerCase()
- 将字符串变为小写
- indexOf()
- 检索字符串
- 返回某个字符串值在首次出现的位置
- 如果检测的字符串值没有出现,则返回-1
- 检索字符串
- charAt()
- 数字类型(Number)
- 所有数字不分大小、不分整浮、不分正负、都是数字类型
- 小数中,零是可以省略的
- 较大数或较小数(绝对值比较小),可以写成科学计数法
- 例:3e8、3e-4
- 不同进制的数字
- 二进制数值以0b开头 例:0b10
- 八进制数值以0开头 例:017
- 十六进制以0x开头 例如:0x156
- 一个特殊的数字型值NaN
- NaN是英语 “not a number” 的 意思,即“不是一个数”,但它是一个数字类型的值
- typeof NaN // number
- 0/0 的结果就是NaN,事实上,在数学运算中,若结果不能得到数字,其结果往往都是NaN
- NaN有一个“奇怪”的性质,不自等。
数据类型的转换
- 其它值 -> 数值
- Number() 系统内置的构造函数
- parseInt() 函数
- parseFloat() 函数
- 其它值 -> 字符串
- String() 函数 系统内置的构造函数
- toString() 方法,几乎所有的值都有该方法
- 当数值直接调用 toString() 方法的时候,要加上括号 例:(5).toString()
- 其它值 -> 布尔值
- Boolean() 函数
复杂数据类型简介
- 对象 Object
- 方法 Function
- 复杂数据类型都是“引用类型”
typeof 运算符可以检测值或者变量的类型
1 | typeof 5; |
- typeof 不是内置函数 是操作符