js 高级程序设计 笔记 第五章

161 阅读2分钟
  • 引用类型的值是引用类型的一个实例
  • 它是一种数据结构 是由构造函数创建的

1.Object 类型

一. 基础概念

  • 创建实例的方法 var obj = new Object() / var obj = {A:111} / var obj = { }
  • 对象属性用 A.b/A['b'] 获取, **[ ] 可以使用 ['变量'] **

2.Array 类型

一. 基础概念

  • 创建实例的方法 var arr = new Array(length) / var arr = [A,B,C] / var arr = []
  • length 属性是可写的 eg: arr[1] = 'b'
  • 检测数组 arr instanceof Arrary / arr.isArray()
  • 转换方法 arr.toString() ** valueof(arr) 等价于 arr**

二.重要概念

  • 数组栈方法 - LIFO (后进先出)
 push() //推入
 pop()  //弹出
  • 数组队列方法 - FIFO (先进先出)
shift()  //移除第一项
unshift() //增加第一项
  • 数组重排序方法 - FIFO (先进先出) 返回的是 数组
reverse()  //反向
sort()  //从小到大排序
  • 操作方法

concat()  //增加
slice()  //截取

//1.创建新的数组 不会影响原来的数组
let arr = [1,7,44,2]
arr.slice(0,2) //[1, 7]
arr // [1, 7, 44, 2]

splice() //删除 ,插入 ,替换
  • 位置方法 **indexOf() lastIndexOf() **
  • 迭代方法
every() // 每个都满足 true
some () //一个满足true
filter() //筛选出符合的true 组成新的数组返回
foreach //每一项执行操作方法 无返回值
map() // 返回数组每一项操作后的结果

-归并方法

reduce() //迭代处理
reduceRight() //从右开始迭代处理

3.Date类型

一. 基础概念

  • var day = new Date()

4.RegExp 类型

一. 基础概念

  • var expression = /pattern/ flags (验证规则/模式)

  • g (gobal 全局) i(不区分大小写) m(multiline 多行)

4.Function 类型

一. 基础概念

  • 每个函数都是function 类型的实例
  • 函数名是指向函数的指针

一. 重要概念

  • 函数没有重载 同名函数会被覆盖
  • 函数声明 > 函数表达式** 原因:函数声明提升,预先读取**
getName() //Uncaught TypeError: getName is not a function
getName2() //zzz
var getName = function(){return 'zxq'};
function getName2(){
  return 'zzz'
}
getName() //zxq
  • 函数名本身是变量 可以作为值来使用
  • 函数内部属性 arguments(参数) this(环境对象)