JS面向对象——Object对象的方法补充原型继承关系图

Posted 小小白学计算机

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS面向对象——Object对象的方法补充原型继承关系图相关的知识,希望对你有一定的参考价值。

一、Object.create()

这个方法用于创建一个新对象。被创建的对象的__proto__指向create函数第一个参数的原型对象prototype,在创建新对象时可以通过create函数第二个参数指定一些属性。

二、Object.hasOwnProperty()

  • 对象是否有某一个属于自己的属性(不是在原型上的属性)

三、in/for in 操作符

判断某个属性是否在某个对象或者对象的原型上

四、instanceof

用于检测构造函数的pototype,是否出现在某个实例对象的原型链

function createObject(o) 
    function Fn() 
    Fn.prototype = o
    return new Fn()


function inheritPrototype(SubType, SuperType) 
    // SubType.prototype = Object.create(SuperType.prototype)
    SubType.prototype = createObject(SuperType.prototype)
    Object.defineProperty(SubType.prototype, 'constructor', 
        enumerable: false,
        configurable: true,
        writable: true,
        value: SubType
    )


function Person() 

function Student() 

inheritPrototype(Student, Person)
var stu = new Student()
// instanceof: stu的原型链上是否能找到Student
console.log(stu instanceof Student) // true
console.log(stu instanceof Person) // true
console.log(stu instanceof Object) // true

五、isPrototypeOf

用于检测某个对象,是否出现在某个实例对象的原型链上

六、原型继承关系图

以上是关于JS面向对象——Object对象的方法补充原型继承关系图的主要内容,如果未能解决你的问题,请参考以下文章

js--面向对象继承

快速理解JavaScript面向对象编程—原型继承

js属性扩展,继承,属性查找

JS面向对象三大特征:封装、继承、多态

JavaScript面向对象

重操JS旧业第八弹:面向对象与继承