美文网首页
高程原型链的mini例子

高程原型链的mini例子

作者: 学习狂魔 | 来源:发表于2017-07-22 17:10 被阅读0次

修改和继承原型

先定义一个引用类型它包含一个属性
function SuperType(){
    this.prototype = true;
}
//然后再给他写一个方法写到原型里面,方法是返回一个属性
SuperType.prototype.getSuperValue = function(){
    return this.property
}

//在定义一个引用类型
function SubType(){
    this.subproperty = false;
}
//继承了 SuperType, 注意此处相当于修改原型因为它将第二个类型的原型用第一个构造函数实例化了。
subType.prototype = new SuperType();

//这里又定义第二个类型的方法
SubType.prototype.getSubValue = function(){
    return this.subproperty;
}
var instance = new SubType();
alert(instance.getSuperValue());   //true
//由于原型链被修改了后面实例化之后的东西也就被修改了

原型链最带的问题就是当定义的类中含有引用类型的值,比如数组,当通过原型链继承的时候,修改应用类型的值,无论创建多少个实例都会被修改。

//原型链的问题
function SuperType(){
    this.colors = ['red', 'blue', 'green']; 
}
function SubType (){
}
//继承 SuperType
SubType.prototype = new SuperType();

var instancel = new SubType();
instance1.colors.push('black');
alert(instance2.colors); //'red','blue','green','black'

var instance2 = new SubType();
alert(instance2.colors); //'red','blue','green','black'

相关文章

  • 高程原型链的mini例子

    修改和继承原型 原型链最带的问题就是当定义的类中含有引用类型的值,比如数组,当通过原型链继承的时候,修改应用类型的...

  • 2017-12-04

    一个例子让你彻底明白原型对象和原型链

  • 原型和原型链

    例子 原型、构造函数、实例、原型链的关系 原型 Student.prototype 就是原型,它是一个对象,我们也...

  • javascript 基础攻关(二)—— 原型和原型链

    javascript 基础攻关(二)—— 原型和原型链 如何判断一个变量是数组类型 写一个原型链继承的例子 描述...

  • 夯基础-手撕js原型、原型链

    作为从前端刀耕火种年代走过来的物种-js原型,原型链,我表示当初高程看了不下三五遍也没能真正消化他,emmmmmm...

  • web前端面试题总结

    1.知道JavaScript中的原型是什么吗?什么是原型链?能手写一个原型链继承的例子吗? 答:(1)在javas...

  • 面试题的总结

    进实验室前端的面试题总结 《1》知道javascript中的原型是什么吗?什么是原型链?能手写一个原型链继承的例子...

  • JS 中的一些概念问题

    Q:描述 JavaScript 中的继承和原型链,并举例子。 JavaScript 是基于原型的面向对象语言,并无...

  • 2017-12-27

    原型和原型链 示例如何准确判断一个变量是数组类型写一个原型链继承的例子描述 new 一个对象的过程zepto(或其...

  • 面向对象——原型链

    原型链-----实例对象于原型之间的连接,具体含义: 利用前一章的例子 function Aaa(){}Aaa.p...

网友评论

      本文标题:高程原型链的mini例子

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