//定义构造函数,规定每个js对象必须定义Create构造方法
function New(aClass,params){
function _new(){
if(aClass.Create)
aClass.Create.apply(this,params);
}
_new.prototype = aClass;
return new _new();
}
function Extents(BaseClass,SubClass){
function _extends(){
for(var member in SubClass){
this[member] = SubClass[member];// 把子类中方法,属性 复制到“临时类中”
}
}
_extends.prototype = BaseClass;//给临时类得prototype赋值,指向基类 这样临时就有了基类的所有特性。
return new _extends(); //返回临时对象。
}
var Person = Extents({},{
Create:function(name,age){this.name=name;this.age=age;},
sayHello:function(){alert("my name is "+ this.name+" and age is "+ this.age+ ". i like making friends especially girl friends");}
});
var p = New(Person,["刘志全",23]);
p.sayHello();
var Engineer = Extents(Person,{
Create:function(name,age,lan,salary){
Person.Create.call(this,name,age) ;
this.lan = lan;
this.salary = salary;
},
introduce:function(){
document.write("i am a "+ this.lan + " programer and the salary is "+ this.salary );
}
});
var engineer = New(Engineer,["全哥",23,"java,php,javascript and android","secret"] )
engineer.sayHello();
engineer.introduce();
相关推荐
原型是理解继承概念的关键, 我们将会教你如何建立原型, 如何检测一个对象是否是另外一个对象的原型, 及其 JavaScript 的模型与Java 面向对象编程之间的区别。我们同样会向你展示如何检测对象所包含的各种属性的方法...
用过JavaScript的同学们肯定都对prototype如雷贯耳,但是这究竟是个什么东西却让初学者莫衷一是,只知道函数都会有一个prototype...不像传统的面向对象语言,Javascript的继承机制基于原型,而不是Class类。 1、私有
本人一行注释一行代码翻译了该大师的艺术作品--目的说明它是在第1,2阶段文档演示的JavaScript面向对象的书写方式的进一步改进,它是现代JavaScript面向对象编程方式(使用基本类来编码)的过渡代码--没有它就没有当今...
JS面向对象经典案例,JS面向对象过程中用到的一些技术,例如对象、类、JS继承Call、JS原型链Prototype、JS闭包等等
通过掌握原型链的概念和工作原理,开发者可以更好地利用 JavaScript 的面向对象特性。 这是一个可编辑的xmind文件,对原型链有清晰的勾画,不同的链用不同颜色进行了标识,内容一目了然,可以帮助快速学习原型链。
本文实例讲述了JavaScript面向对象程序设计中对象的定义和继承。分享给大家供大家参考,具体如下: 在面向对象的Javascript编程中,希望代码优雅有高效是非常重要的。javascript中不存在类的概念,只有对象。要想把...
主要介绍了JavaScript使用prototype原型实现的封装继承多态,涉及javascript prototype与面向对象程序设计相关操作技巧,需要的朋友可以参考下
JavaScript中对象的prototype属性,可以返回对象类型原型的引用。这是一个相当拗口的解释,要理解它,先要正确理解对象类型(Type)以及原型(prototype)的概念。 1 什么是prototype JavaScript中对象的prototype属性,...
无论什么时候,只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,这个属性指向函数的原型对象。在默认情况下,所有的原型对象都会自动获得一个constructor(构造函数)属性,这个属性包含...
实际上不是SubType的原型的constructor属性被重写了,而是SubType的原型指向了另一个对象——SuperType的原型,而这个原型对象的construtor属性指向的是SuperType function SuperType(){ this.property = true; }...
本文实例讲述了JavaScript使用Prototype实现面向对象的方法。分享给大家供大家参考。具体分析如下: prototype 是 Function 对象的一个属性,这个属性指向另一个对象。 这个对象的所有属性和方法,都会被构造函数的...
本文实例讲述了JavaScript 面向对象。分享给大家供大家参考,具体如下: JavaScript 面向对象 this:this代指对象(python self) 对象 = new 函数():创建对象:添加“new 函数()”相当与创建对象 类名:prototype...
实际上JavaScript并不是一门面向对象的语言,不过JavaScript基于原型链的继承方式、函数式语法,使得编程相当灵活,所以可以利用原型链来实现面向对象的编程。 之前对JavaScript一直都是一知半解,这两天看了一下...
本文实例讲述了JavaScript面向对象继承原理与实现方法。分享给大家供大家参考,具体如下: 1、构造函数、原型和实例的关系 构造函数有一个原型属性prototype指向一个原型对象。 原型对象包含一个指向构造函数的指针...
我们创建的每一个函数都有一个prototype(原型)属性,该属性是一个对象,包含可以有特定类型的所有实例共享的属性和方法。使用它的好处就在于可以让所有对象实例共享它所包含的属性和方法,也就是说,不必在构造...
在prototype.js中,prototype对象是实现面向对象的一个重要机制。 每个函数就是一个对象(Function),函数对象都有一个子对象 prototype对象,类是以函数的形式来定义的。prototype表示该函数的原型,也表示一...
既然你想了解继承,证明你对JavaScript面向对象已经有一定的了解,如还有什么不理解的可以参考《面向对象JS基础讲解,工厂模式、构造函数模式、原型模式、混合模式、动态原型模式》,接下来讲一般通过那些方法完成...
在JavaScript中,prototype对象是实现面向对象的一个重要机制。 每个函数就是一个对象(Function),函数对象都有一个子对象 prototype对象,类是以函数的形式来定义的。prototype表示该函数的原型,也表示一个类的...
接着上文《详解JavaScript基于面向对象之创建对象(1)》继续学习。 4、原型方式 我们创建的每个函数都有一个通过prototype(原型)属性,这个属性是一个对象,它的用途是包含可以由特定类型的所有实例共享的属性和...
本文实例讲述了javascript面向对象程序设计实践常用知识点。分享给大家供大家参考,具体如下: 实践一:原型中的引用类型的属性是共享的 var Person = function(){}; Person.prototype = { info:{ name:Tom } } ...