天天看点

js原型链和闭包1 原型链2 闭包

js原型链和闭包

  • 1 原型链
    • 1.1 原型链是什么
    • 1.2 原型链作用
  • 2 闭包
    • 2.1 闭包是什么
    • 2.2 闭包特性
    • 2.3 闭包缺点
    • 2.4 闭包作用

1 原型链

1.1 原型链是什么

在JavaScript 中,每个对象都有一个指向它的原型对象的内部链接。这个原型对象又有自己的原型,直到某个对象的原型为 null 为止(也就是不再有原型指向),组成这条链的最后一环。这种一级一级的链结构就称为原型链(prototype chain)

1.2 原型链作用

因为es6之前,js没有类的概念,就需要原型链来充当这一角色。

2 闭包

2.1 闭包是什么

指有权访问另一个函数作用域中的变量的函数,比如在函数中创建函数,可以通过内部的函数访问外部的函数。

2.2 闭包特性

函数内函数、有权访问外部变量、变量不会被回收。

2.3 闭包缺点

常驻内存不被回收容易泄露。

2.4 闭包作用

希望一个变量常驻在内存中,避免污染全局变量,私有成员存在,用于设计私有方法和变量。

继续阅读