美文网首页
原型继承。。对上篇疑问处进行解答

原型继承。。对上篇疑问处进行解答

作者: _陈慧敏 | 来源:发表于2015-12-18 17:04 被阅读15次

之前我一直在疑问

function DOG(name){this.name = name;}
DOG.prototype = { species : '犬科' };
var dogA = new DOG('大毛');
var dogB = new DOG('二毛');
alert(dogA.species); // 犬科
alert(dogB.species); // 犬科

为什么这样是可行的,而为什么不行

function DOG(name){this.name = name;}
var dogA = new DOG('大毛');
var dogB = new DOG('二毛');
DOG.prototype = { species : '犬科' };
alert(dogA.species); // 犬科
alert(dogB.species); // 犬科

然后今天看别的资料偶然发现,创建实例的时候对实例的原型进行赋值引用变量,如果之后我修改构造器的原型的属性可以对实例有效果,但是如果直接替换了原型对象,则已经生成的实例不再受构造器的原型的影响。

如果用下面这段代码 可以更好的理解

var a = {name:'123'};
var b = a;
a = {};
a.age = 123;
console.log(b.age)// undefined

相关文章

  • 原型继承。。对上篇疑问处进行解答

    之前我一直在疑问 为什么这样是可行的,而为什么不行 然后今天看别的资料偶然发现,创建实例的时候对实例的原型进行赋值...

  • JS高级继承方法

    前言: 上篇文章说了下,原型链继承 临时构造器继承!下面我们来说说继承其它的方法例如:属性拷贝,对象之间继承…...

  • JavaScript 面向对象编程

    对象的创建 继承 原型式继承: 原型式继承,其本质是执行对给定对象的浅复制。原型链:{currentObject}...

  • JavaScript进阶:组合式继承和寄生组合式继承

    1、组合式继承 组合继承了使用原型链实现对原型属性和方法的继承,同时配合使用构造函数继承实现对实例属性的继承。以免...

  • 2-5 原型和原型链 - 构造函数

    2-5 原型和原型链 - 构造函数 题目-知识点-解答 题目: 如何准确判断一个变量是数组类型。 写一个原型链继承...

  • 浅谈javaScript继承

    原型和构造函数 prototype属性对Object添加属性和方法 构造函数实例化过程 原型和继承 简单继承 继承

  • 开发技巧分享—神奇的 URL Scheme - 深入应用

    上篇疑问解答 上篇介绍 URL Scheme 的文章在推送后,很多用户都表示非常实用,并立即为自己的 FileMa...

  • 第6章 面向对象的程序设计 (下)

    3. 继承 1.原型链 原文:利用原型让一个引用类型继承另一个引用类型的属性和方法。根据上篇末尾的总结的构造函数与...

  • js 面向对象编程(二):构造函数的继承

    组合继承 原理:使用原型链实现对原型属性和方法的继承,而通过借用构造函数来实现对实例属性的继承。举例: 图解 弊端...

  • 关于继承

    继承的实现方法 属性拷贝 浅拷贝 深拷贝 原型继承 原型式继承 原型链继承 组合继承(深拷贝+优化后的原型式继承)...

网友评论

      本文标题:原型继承。。对上篇疑问处进行解答

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