Javascript 基本数据类型

数据类型简介和检测

基本数据类型

  1. null 类型
    • 表示“空”,它是“空对象”
    • 当我们需要将对象销毁、数组销毁或者删除事件监听时,通常将它们设置为null
      • box.click = null
    • 使用 typeof 检测 null 值,结果是object,这点尤其要注意
    • 类型和typeof 检测结果并不是一一对应的,比如数组用typeof检测出来的结果也是object
  2. undefined 类型
    • 一个没有被复制的变量的默认值是undefined,而undefine的类型也是undefined
    • 即:undefined又是值,又是一种类型,这种类型只有它自己一个值
  3. 布尔类型 (Boolean)
    • 布尔型值只有两个:true 和 fasle,分别表示真和假
  4. 字符串类型(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可以是负数,表示倒数位置
      • slice()
        • 提取子串
          • slice(a,b) 方法得到从 a 开始到b结束(不包含b处)的子串
          • slice(a,b) 方法 a 参数可以是负数
          • slice(a,b) 方法 a 参数必须小于b
      • toUpperCase()
        • 将字符串变为大写
      • toLowerCase()
        • 将字符串变为小写
      • indexOf()
        • 检索字符串
          • 返回某个字符串值在首次出现的位置
          • 如果检测的字符串值没有出现,则返回-1
  5. 数字类型(Number)
    • 所有数字不分大小、不分整浮、不分正负、都是数字类型
    • 小数中,零是可以省略的
    • 较大数或较小数(绝对值比较小),可以写成科学计数法
      • 例:3e8、3e-4
    • 不同进制的数字
      • 二进制数值以0b开头 例:0b10
      • 八进制数值以0开头 例:017
      • 十六进制以0x开头 例如:0x156
    • 一个特殊的数字型值NaN
      • NaN是英语 “not a number” 的 意思,即“不是一个数”,但它是一个数字类型的值
      • typeof NaN // number
      • 0/0 的结果就是NaN,事实上,在数学运算中,若结果不能得到数字,其结果往往都是NaN
      • NaN有一个“奇怪”的性质,不自等。

数据类型的转换

  1. 其它值 -> 数值
    • Number() 系统内置的构造函数
    • parseInt() 函数
    • parseFloat() 函数
  2. 其它值 -> 字符串
    • String() 函数 系统内置的构造函数
    • toString() 方法,几乎所有的值都有该方法
    • 当数值直接调用 toString() 方法的时候,要加上括号 例:(5).toString()
  3. 其它值 -> 布尔值
    • Boolean() 函数

复杂数据类型简介

  1. 对象 Object
  2. 方法 Function
  3. 复杂数据类型都是“引用类型”

typeof 运算符可以检测值或者变量的类型

1
2
typeof 5; 
typeof "shanmu";
  1. typeof 不是内置函数 是操作符