`
y1d2y3xyz
  • 浏览: 252725 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Javascript之prototype 原型重写

阅读更多
function Person(){}

var person = new Person();

Person.prototype={//重写Person原型
	name:'zhangsan',
	sayHi:function(){
		alert("重写原型")	
	}
}

//person.sayHi();这里会报错

function Person1(){}

var person1 = new Person1();

Person1.prototype.sayHi = function(){
	alert("hello prototype")	
}

person1.sayHi();//这里能正常执行


由于javascript本身的原型和实例之间松散关系,在Person对象中先实例化了对象,接着重写了Person的原型,就是因为这里的重写导致了现有的原型和之前实例对象之间关系被切断,而Person1则不一样,没有对原型进行重写,而只是在Person1原型上添加的方法和属性,所有区别就在此,所以Person1.sayHi()的执行显然没问题
分享到:
评论

相关推荐

    关于javascript原型的修改与重写(覆盖)差别详解

    每个JavaScript函数都有prototype属性(javascript对象没有这个属性),这个属性引用了一个对象,这个对象就是原型对象。javascript允许我们修改这个原型对象。 修改有2种方式: 方式1:在原有的原型对象上增加属性...

    js使用原型对象(prototype)需要注意的地方

    我们先来一个简单的构造函数+原型对象的小程序 function CreateObj( uName, uAge ) { this.userName = uName; this.userAge = uAge; } CreateObj.prototype.showUserName = function () { return this....

    javascript使用prototype完成单继承

    1.使用prototype完成单继承. 代码如下: //定义一个A类 function A(){ ... //new出A的对象赋值给B的原型,B中就包含了A中的所有定义的属性与方法. //可不可以将继承的sayColor进行重写. B.prototype.say

    JavaScript详解(第2版)

     14.9 使用〈span〉标签重写或添加样式   14.9.1 〈span〉标签和style属性   14.9.2 〈span〉标签和class属性   14.9.3 继承和上下文选择器   14.10 定位元素和层   14.10.1 绝对定位   14.10.2...

    基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解

    构造函数、原型实现继承的缺陷 ...这种方式同样适用于继承机制,用对象冒充继承构造函数的属性,用原型链继承 prototype 对象的方法。用这两种方式重写前面的例子,代码如下: 代码如下:function ClassA(sColo

    学习javascript面向对象 javascript实现继承的方式

    1、【原型链继承】实现的本质是重写原型对象,代之以一个新类型的实例。实际上不是SubType的原型的constructor属性被重写了,而是SubType的原型指向了另一个对象——SuperType的原型,而这个原型对象的construtor...

    Leytech_PrototypeUpdate:Magento 1扩展,可将原型Javascript库干净地更新为1.7.2.0

    更新Magento 1的原型JavaScript库 Magento 1扩展,可将原型Javascript库干净地更新为1.7.2(或其他版本)。 据我所知1.7.2应该与Magento 1兼容,并解决了与多个第三方JS库(包括Feefo评论和Google Maps API)的兼容...

    JavaScript精炼之构造函数 Constructor及Constructor属性详解

    例如,我们重写之前例子,使用构造函数创建对象“b”和“c”,那么对象”a”则扮演了“Foo.prototype”这个角色: // 构造函数 function Foo(y) { // 构造函数将会以特定模式创建对象:被创建的对象都会有y属性 ...

    几句话带你理解JS中的this、闭包、原型链

    所有对象都是基于Object.prototype,Object.prototype就是JavaScript的根对象,在Object.prototype中定义的方法都可以被其它对象访问到,当然也可以被重写了,所以直接在Object.prototype上调用的是原始功能的...

    JavaScript面向对象继承原理与实现方法分析

    本文实例讲述了JavaScript面向对象继承原理与实现方法。分享给大家供大家参考,具体如下: 1、构造函数、原型和实例的关系 ...实现的本质是重写原型对象,代之以一个新类型的实例。 function Person(name

    javascript 写类方式之六

    6、Prototype.js的写类方式 代码如下://prototype.js中的代码 var Class = { create: function() { return function() { this.initialize.apply(this, arguments); } } } //简化后的 function ... //通过原型重写来定

    javascript的几种继承方法介绍

    原型链继承缺点:字面量重写原型会中断关系,使用引用类型的原型,并且子类型还无法给超类型传递参数 function Parent(){ this.name='mike'; } function Child(){ this.age=12; } //儿子继承父亲(原型链) ...

    pikaserver.prototype:benpigchu.com上运行的pikaserver原型

    鼠兔服务器的重写原型。 目前在benpigchu.com上运行。 对于以前使用的版本,请参阅legacy-master分支。 该项目被设计为具有高级可配置静态文件服务功能,js扩展名和一些util的单文件单域站点服务器。 但也可以在...

    javascript 中的继承实例详解

    javascript 中的继承实例详解 阅读目录 原型链继承 ...原型链继承实现的本质是重写原型对象,代之以一个新类型的实例。代码如下: function SuperType() { this.property = true; } SuperType.prototype.

    JS原型与继承操作示例

    本文实例讲述了JS原型与继承操作。分享给大家供大家参考,具体如下: [removed] var Beverage = function(){}; Beverage.prototype.boilWater = function(){ console.log("把水煮沸"); }; Beverage.prototype.brew...

    JavaScript类的继承方法小结【组合继承分析】

    继承也有之前问题,比如字面量重写原型会中断关系,使用引用类型的原型,并且子类型还无法给超类型传递参数。 为了解决引用共享和超类型无法传参的问题,我们采用一种叫借用构造函数的技术,或者成为对象冒充(伪造...

    createClass:提供简单快速创建可维护、可扩展的(继承、重写)类的方法

    * @param Object `prototype` 将会扩展到原型上的一组对象方法 * @param Function `parentConstructor` 要继承的父类,支持多继承(多继承情况下第一个出现的父类会作为默认原型) * * @return Class 返回包装好...

    面向对象的方法实现贪吃蛇

    2. 在使用××.prototype= {}重写原型对象的时候,一定要加上一句constructor:该对象。不然会造成实例化出来的实例的constructor为object。 3. 在underscore中,使用_.random(a,b)即可获得a-b中的一个随机数。 4. ...

    JavaScript学习笔记整理_简单实现枚举类型,扑克牌应用

    如下所示: ... //重写原型并将原型赋值给变量proto var proto = Enumeration.prototype = { constructor:Enumeration, toString:function(){return this.name;}, valueOf:function(){return this.

    asp.net知识库

    完整的在.net后台执行javascript脚本集合 ASP.NET 中的正则表达式 常用的匹配正则表达式和实例 经典正则表达式 delegate vs. event 我是谁?[C#] 表达式计算引擎 正式发布表达式计算引擎WfcExp V0.9(附源码) 运算...

Global site tag (gtag.js) - Google Analytics