美文网首页
原型链模式--扩展1

原型链模式--扩展1

作者: gaoqizhuhui | 来源:发表于2017-07-24 16:17 被阅读0次

批量设置原型上的公有属性和方法:

1、起一个别名(简单):

var pro=Fn.prototype;把原来原型指向的地址赋给pro,现在操作的是同一个内存空间

2、重构原型对象的方式:

自己新开辟一个堆内存,存储公有的属性和方法,把浏览器原来给Fn.prototype开辟的那个给替换掉

function Fn(){
     this.x=100;
 }
Fn.prototype={
    constructor:Fn,
    a:function(){
    },
    b:function(){
    }
};
image.png

1、只有浏览器天生给Fn.prototype开辟的堆内存里面才有constructor,而自己开辟的这个堆内存没有这个属性,这样constructor指向就不再是Fn而是Object了。为和原来保持一致,需要手动增加constructor的指向

2、用这种方式给内置类增加公有的属性:这种方式会把之前已经存在于原型上的属性和方法给替换掉,所以这种方法修改内置类的话,浏览器是给屏蔽掉的,但是可以一个个的修改内置方法(若方法名和原来内置重复了,会把人家内置的修改掉)在内置类的原型上增加方法,命名要加特殊的前缀,避免重复。

this应用:

在原型模式中,this常用的两种情况:

(1).在类中this.xxx=xxx;this--->当前类的实例

(2).某一个方法中的this--->看执行的时候" . "前面是谁this就是谁。具体步骤:
a、需要先确定this的指向(this是谁)
b、把this替换成对应代码
c、按照原型链查找的机制,一步步的查找结果

相关文章

  • 原型链模式--扩展1

    批量设置原型上的公有属性和方法: 1、起一个别名(简单): var pro=Fn.prototype;把原来原型指...

  • 原型和原型链篇

    原型和原型链 1.理解原型设计模式以及JavaScript中的原型规则 原型设计模式JavaScript是一种基于...

  • js集成

    原始继承模式--原型链 2:借用构造函数 3:共享构造原型 4:圣杯模式原型链; 构造函数; 共享原型; 圣杯模式...

  • js笔记三十四之原型链模式扩展(1)

    原型链模式扩展 批量设置原型上的公有属性 起一个别名 重构原型对象的方式 -> 自己新开辟一个堆内存,存储我们共...

  • 原型链模式--扩展2(继承)

    1、for in循环在遍历的时候,默认是可以把自己私有的和所属类原型(prototype)上扩展的属性和方法都可以...

  • 继承(个人学习笔记)

    继承的发展史: 1、传统模式——>原型链: 下图是通过改变原型链的指向来实现继承(子类的原型proto...

  • 前端JS基础二(原型与原型链)

    原型与原型链 原型规则(是学习原型链的基础) 所有的引用类型(数组,对象,函数),都具有对像特性,即可自由扩展属性...

  • js 集成模式 07-24

    **原始继承模式--原型链 2:借用构造函数 3:共享构造原型 4:圣杯模式**一:原型链; 二:构造函数; 三:...

  • js 原型 2019-12-15

    原型:constructor 构造函数、实例、原型对象三者之间的关系 原型链 原型对象中的this指向 扩展内置对...

  • 继承大法好

    原型链方法(仿传统) 所属模式: 基于构造器工作模式 使用原型链模式(ECMA标准中的默认继承机制) 提示:我们可...

网友评论

      本文标题:原型链模式--扩展1

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