Karam
Articles68
Tags50
Categories14
JavaScript面向对象

JavaScript面向对象

封装

封装的机制包括:

  1. 限制对象外部访问内部变量
  2. 将数据和方法绑定,对外提供方法,从而改变内部变量

使用闭包实现私有化属性
闭包也就是引入一个自由变量的函数,扮演的作用是为函数提供一个上下文

继承

JS的继承方式是原型链继承

多态

JS定义对象的方式非常灵活,可以直接调用对象名称创建实例,也可以new一个实例,两者的区别在于直接调用是没有“归属”的,会归于window对象下,new的实例会有一个新的this上下文

new一个关键字的时候,Javascript的实现步骤:

  1. 先创建一个名称为x的对象
  2. 绑定原型链
  3. 指定对象自己,this = x,并且调用对象的方法
  4. 最后return,先确定return 的值typeof 是否等于 ‘object’,如果不等于直接返回对象本身