• 原型,对象和原型链


    普通对象与函数对象
    JavaScript 中,万物皆对象!但对象也是有区别的。分为普通对象和函数对象,Object ,Function 是JS自带的函数对象。

    原型对象
    在JavaScript 中,每当定义一个对象(函数)时候,对象中都会包含一些预定义的属性。其中函数对象的一个属性就是原型对象 prototype。注:普通对象没有prototype,但有__proto__属性。
    优点:包含可以让所有实例共享的属性和方法
    缺点:省略了为构造函数传递初始参数;所有实例在默认情况下的参数一致
    共享
    用途:面向对象

    原型链
    JS在创建对象(不论是普通对象还是函数对象)的时候,都有一个叫做__proto__的内置属性,用于指向创建它的函数对象的原型对象prototype。我们把这个有__proto__串起来的直到Object.prototype.__proto__为null的链叫做原型链。
    原型链是由一些用来继承和共享属性的对象组成的(有限的)对象链。
    construct

    hasOwnProperty是Object.prototype的一个方法,它可是个好东西,他能判断一个对象是否包含自定义属性而不是原型链上的属性,因为hasOwnProperty 是 JavaScript 中唯一一个处理属性但是不查找原型链的函数。

  • 相关阅读:
    AGC002
    ICPC 北美Mid Central 2019 Regional
    【洛谷 5020】货币系统
    【洛谷 1109】学生分组
    【洛谷 2915】奶牛混合起来
    【洛谷 4162】最长距离
    【YCOJ 3805】竞选
    【洛谷 2807】最长路
    【洛谷 2918】买干草Buying Hay
    【LOJ 10172】涂抹果酱
  • 原文地址:https://www.cnblogs.com/qitiandandan/p/5668979.html
Copyright © 2020-2023  润新知