JavaScript 原型链与闭包

本文详细介绍了JavaScript中的原型和原型链,包括函数的prototype属性、对象的__proto__属性以及原型链的工作原理。此外,还探讨了JavaScript闭包的概念、产生条件、特征、作用和生命周期,以及闭包在实际应用中的优缺点。
摘要由CSDN通过智能技术生成
JavaScript原型与原型链
  • 原型
      JavaScript中创建的每一个函数,解析器都会向函数中添加一个属性prototype。该属性默认指向一个空object实例对象,即原型对象。
      原型对象中有一个constructor属性,它指向函数对象。
      通过构造函数创建的每个实例对象,解析器都会向对象中添加一个属性__proto__,默认指向的也是原型对象。

    prototype可称为显示原型属性;__proto__可称为隐式原型属性。
    即,实例对象.__proto__===类.prototype

总结:
  函数的prototype属性:函数定义时自动添加,默认是一个空Object实例对象。
  对象的__proto__属性:实例对象创建时自动添加,默认值为构造函数的prototype属性值。
  方法一般定义在原型中,属性一般通过构造函数定义在对象本身上。
  查找对象属性时,自动按原型链查找;设置对象属性时,不会查找设置原型链。

  • 原型链
    原型链:在任意对象和Object.prototype之间,存在着一条以隐式原型属性__proto__进行连接的链,我们称这条链为原型链。
    原型链的基本思想就是利用原型让一个引用类型继承另一个引用类型的属性和方法,主要用于查找使用对象的属性/方法。

  • 所有通过构造函数创建的对象都是Object的实例;

  • Object函数的显示原型对象是原型链的尽

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值