网道教程

2 数据类型

2.6 函数

函数的属性和方法

2.7 数组

1. 定义

var arr = ['a', 'b','c']

2. 数组的本质

typeof [1, 2, 3] // "object"
var arr = ['a', 'b', 'c'];
 
Object.keys(arr)
// ["0", "1", "2"]

3. length属性

数组api

添加移除数组元素

  • arr.push(...items) —— 从尾端添加元素,
  • arr.pop() —— 从尾端提取元素,
  • arr.shift() —— 从首端提取元素,
  • arr.unshift(...items) —— 从首端添加元素。

splice

slice concat

遍历

在数组中搜索

6 面向对象编程

6.1 实例对象与new命令

1 对象是什么

2 构造函数

JavaScript 语言使用构造函数(constructor)作为对象的模板。所谓”构造函数”,就是专门用来生成实例对象的函数。它就是对象的模板,描述实例对象的基本结构。一个构造函数,可以生成多个实例对象,这些实例对象都有相同的结构。

var Vehicle = function () {
  this.price = 1000;
};

构造函数的特点有两个。

  • 函数体内部使用了this关键字,代表了所要生成的对象实例。
  • 生成对象的时候,必须使用new命令。

3 new命令

3.1 基本用法

3.2 new命令的原理

使用new命令时,它后面的函数依次执行下面的步骤。

  1. 创建一个空对象,作为将要返回的对象实例。
  2. 将这个空对象的原型,指向构造函数的prototype属性。
  3. 将这个空对象赋值给函数内部的this关键字。
  4. 开始执行构造函数内部的代码。

3.3 new.target

4 Object.creat() 创建实例对象

6.2 this关键字

1 含义

this就是属性或方法“当前”所在的对象。

2 实质

3 使用场合

(1)全局环境 (2)构造函数 (3)对象的方法

4 使用注意点

4.1 避免多层this 4.2 避免数组处理方法中的this 4.3 避免回调函数中的this

5 绑定this的方法

6.3 对象的继承

1 原型对象概述

原型链继承

1.1构造函数的缺点

1.2 prototype属性的作用

JavaScript 继承机制的设计思想就是,原型对象的所有属性和方法,都能被实例对象共享。也就是说,如果属性和方法定义在原型上,那么所有实例对象就能共享,不仅节省了内存,还体现了实例对象之间的联系。

1.3 原型链

1.4 constructor属性

prototype对象有一个constructor属性,默认指向prototype对象所在的构造函数。

2 instanceof运算符

instanceof 运算符返回一个布尔值,表示对象是为某个构造函数的实例。

3 构造函数的继承

4 多重继承

5 模块

6.4 Object对象的相关方法

6.5 严格模式

'use strict';

7 异步操作

概述

单线程模型

同步任务与异步任务

任务队列和事件循环

线程?

异步操作的模式

回调函数

事件监听

发布订阅

Promise