美文网首页
js的原型链继承this、prototype、__proto__

js的原型链继承this、prototype、__proto__

作者: 别老说我好看丶害羞 | 来源:发表于2018-11-14 23:14 被阅读0次

纯代码实现就啰嗦一句,你把它们手打一遍,不理解你打我!

/**
 * 被实例化对象
 */
function superClass() {
    var a = 'aa';
    // 通过 this 创建的共有属性 在被实例化时候每个实例化对象都会创建这个this的属性 this相当于一个变量 指向实例化的对象,未被实例化时指向全局
    this.b = 'bb';
    this.printA = function () {
        console.log(a, 'super printA');
    }
}

// 通过prototype创建的属性是原型链上的只有本对象这一份 被实例化对象公用
superClass.prototype.printB = function () {
    console.log(this.b , 'super printB')
}

/**
 * 实例化对象
 */
var subClass = new superClass();
console.log(superClass.prototype.constructor, 'superClass prototype constructor'); // superClass 
console.log(subClass.__proto__.constructor, 'subClass __proto__ constructor');     // superClass 

// 实例化对象的__proto__ 指向被实例化对象的原型prototype,对象的原型的construct指向对象自己
console.log(subClass.__proto__ === superClass.prototype); // true
console.log(superClass.prototype.constructor === superClass); // true

// 总结:
// 1、this 和 prototype的区别就是 当实例化对象自身需要这个属性时用被实例化对象的属性this,
// 当公用一个被实例化对象的属性时,被实例化对象的属性用 prototype。
// 2、原型链指向
// subClass.__proto__ => superClass.prototype
// superClass.prototype.constructor => superClass

相关文章

  • JavaScript原型链

    js原型链 原型链是JS面向对象的基础非常重要 所有对象只有__proto__属性,而函数具有prototype属...

  • js 原型链继承__proto__、prototype简析

    js中的继承关键是靠__proto__属性实现的prototype属性的职责是将原型链中的数据放入__proto_...

  • js基础知识(二)

    一、js原型和原型链 1、原型讲解: 普通的对象:是没有prototype属性的,只有隐藏属性__proto__,...

  • JavaScript 学习

    JS 原型与原型链 每个对象都有 __proto__属性,但只有函数对象才有 prototype 属性 所有对象的...

  • js继承

    js继承js 继承-简书 原型链实现集继承 上面的代码实现原型链继承最重要的son.prototype=new f...

  • 继承

    原型链直接继承 原型链直接继承prototype 原型链继承_prototype属性 继承_构造函数绑定

  • js的原型链继承this、prototype、__proto__

    纯代码实现就啰嗦一句,你把它们手打一遍,不理解你打我!

  • JS原型链

    JS原型链 回顾一下类,实例,prototype,__proto__的关系 另外有: 对于p1.construcr...

  • JS中的原型和原型链

    为什么要理解原型和原型链,因为有利于我们理解和实现 JS对象继承。 __proto__ __proto__是什么W...

  • 我理解的原型链和原型对象

    1. 我的理解 原型链是一种链式继承 ,体现在 __proto__原型对象是一个对象 ,即 prototype ...

网友评论

      本文标题:js的原型链继承this、prototype、__proto__

      本文链接:https://www.haomeiwen.com/subject/hgosfqtx.html