Reference Types

** 引用类型: **

  • Object
  • Array
  • Date
  • RegExp
  • Function
  • 基本包装类型
  • 单体内置对象

  • Object类型

    • Object构造函数
      • var variateName=new Object();
        variateName.propertyName=”propertyValue”;
        variateName.propertyName2=”propertyValue2”;
    • 对象字面量表示法
      • var variateName={
        propertyName: “propertyValue”,
        propertyName2: “propertyValue2”
        }
      • 逗号分隔不同的属性, 最后一个属性后不添加逗号
    • 访问对象属性时用点表示法或方括号表示法
  • Array类型

    • 创建数组的两种基本方式:

      • Array构造函数
      • 数组字面量表示法
    • 检测数组: 确定某个对象是不是数组

      • value instanceof Array : 假定只有一个全局作用域; 只用于一个网页或一个全局作用域中
      • Array.isArray(value)
    • 转换方法:

      • toLocaleString() : 调用数组每一项的toLocaleString()方法
      • toString() : 返回由数组每个值的字符串形式拼接而成的一个以逗号分隔的字符串
      • valueOf() : 返回数组
      • join(): 实现以不同的分隔符来构建返回的字符串
    • 数组方法

      • 作用; 参数; 返回值; 原数组是否改变
      • 栈方法 :
        • push(): 向数组末尾增加一项或多项, 返回增加后的数组长度, 原数组改变
        • pop(): 删除数组末尾最后一项, 返回删除的内容, 不需要参数
      • 队列方法 :
        • shift(): 删除数组开头第一项, 返回的删除的内容, 原数组改变, 不需要参数
        • unshift(): 向数组开头添加一项或多项, 返回增加后的数组长度, 原数组改变
      • 重排序方法 :
        • reverse()
        • sort()
      • 操作方法 :
        • concat()
        • slice()
        • splice():
          • splice(x): 从索引x开始删除到数组末尾, 将删除的元素组成新数组返回, 原数组改变
          • splice(x,y): 从索引x开始删除y个元素, 将删除的元素组成新数组返回, 原数组改变
          • splice(x,y,z): 从索引x开始删除y个元素, 将删除的元素替换为z, 原数组改变
          • splice(x,0,z): 将z插入到原数组x位置的前面, 返回空数组, 原数组改变
      • 位置方法 :
        • indexOf()
        • lastIndexOf()
      • 迭代方法 :
        • every()
        • filter()
        • forEach()
        • map()
        • some()
      • 归并方法 :
        • reduce()
        • reduceRight()
  • Date类型

    • Date.parese()
    • Date.UTC()
    • Date.now()
    • 继承的方法:
      • toLocaleString()
      • toString()
      • valueOf()
    • 日期格式化方法:
      • toDateString()
      • toTimeString()
      • toLocaleDateString()
      • toLocaleTimeString()
      • toUTCString()
    • 日期/时间组件方法

  • RegExp类型

    • var expression = / pattern / flags ;
    • pattern: 字符类, 限定类, 分组, 向前查找, 反向查找
    • flags: g, i, m
    • 元字符: ( [ { \ ^ $ | ) ? * + . ] )
    • var expression = new RegExp( “pattern“, “flags“);
    • RegExp实例属性:
      • global
      • ignoreCase
      • lastIndex
      • multiline
      • source
    • RegExp实例方法
      • exec()
    • RegExp构造函数属性
    • 模式的局限性
  • Function类型

    • 函数实际上时对象, 每个函数都是Function类型的实例
    • 函数声明语法
    • Function构造函数
    • 没有重载
    • 函数声明与函数表达式
      • 函数声明提升
    • 作为值的函数
    • 函数内部属性
      • arguments
      • callee
      • this
      • caller
    • 函数属性和方法
      • length
      • prototype
      • apply()
      • call()
  • 基本包装类型

    • Boolean类型
    • Number类型
    • String类型
      • 字符方法
        • charAt()
        • charCodeAt()
      • 字符串操作方法
        • concat()
        • slice()
        • substr()
        • substring()
      • 字符串位置方法
        • indexOf()
        • lastIndexOf()
      • trim()方法
      • 字符串大小写转换方法
        • toLowerCase()
        • toLocaleLowerCase()
        • toUpperCase()
        • toLocaleUpperCase()
      • 字符串的模式匹配方法
        • match()
        • search()
        • replace()
      • localeCompare()方法
      • fromCharCode()方法
      • HTML方法
  • 单体内置对象

    • Global对象
      • URI编码方法
      • eval()方法
      • Global对象的属性
      • window对象
    • Math对象
      • Math对象的属性
      • min()和max()方法
      • 舍入方法
      • random()方法
      • 其他方法