JavaScript 原型及原型链,闭包——小记

参考资料,并强烈推荐:最详尽的 JS 原型与原型链终极详解,没有「可能是」
知乎专栏:如何才能通俗易懂的解释javascript里面的‘闭包’?


原型:

所有对象的 _ proto _ 都指向其构造器的 prototype

var Person = {
    name: '',
    abc: function (){

    }
}
var person1 = new Person()
person1._proto_ === Person.prototype
Person.__proto__ === Function.prototype
Function.prototype.__proto__ === Object.prototype
Object.prototype.__proto__ === null // true

闭包:

把函数当类用,说是闭包,其实也可以叫封装
闭包:在爷爷的环境中执行了爸爸,爸爸中返回了孙子,本来爸爸被执行完了,爸爸的环境应该被清除掉,但是孙子引用了爸爸的环境,导致爸爸释放不了。
这一坨就是闭包。
简单来讲,闭包就是一个引用了父环境的对象,并且从父环境中返回到更高层的环境中的一个对象。

function foo() {
    var a = 2;
    return function bar() {
        console.log(a)
    }
}
var baz = foo();
baz(); //2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值