`
yitian_web
  • 浏览: 5363 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

js prototype 跟继承无关

阅读更多

 

var JS={};

JS.apply= function(o, c, defaults){

    if(defaults){

        JS.apply(o, defaults);

    }

    if(o && c && typeof c == 'object'){

        for(var p in c){

            o[p] = c[p];

        }

    }

    return o;

};

 

 

var haoren=function(cfg){

var b=0; //私有属性

var d=function(){//私有方法

alert(123);

}

JS.apply(this,{

y:8,//公共属性

h:9,

haorenMethod:function(){//公共

alert("super.haorenMethod");

},

haorenMethod_1:function(){//公共

alert("super.haorenMethod_1");

}

});

JS.apply(arguments.callee.prototype,{//公共一次方法

q:8,

w:9,

haorenMethod2:function(){

alert("super.haorenMethod2");

},

haorenMethod2_1:function(){

alert("super.haorenMethod2_1");

}

});

}

 

 

var haoren1=function(cfg){

haoren.call(this,arguments);//继承 z_z父类

JS.apply(arguments.callee.prototype,haoren.prototype); //继承 z_z父类.prototype

var b=0; //私有属性

}

 

 

var haoren2=function(cfg){

haoren1.call(this,arguments);//继承 z_z父类

JS.apply(arguments.callee.prototype,haoren1.prototype); //继承 z_z父类.prototype

var b=0; //私有属性

 

var d=function(){//私有方法

alert(123);

}

JS.apply(this,{

u:8,//公共属性

k:9,

haorenMethod_1:function(){//公共

alert("2b:"+b+"  u:"+this.u+" w:"+this.w+"  s:"+this.s+" y:"+this.y);

}

});

JS.apply(arguments.callee.prototype,{//公共一次方法

a:cfg.a,

s:9,

haorenMethod2_1:function(){

alert("2haorenMethod2_1");

}

});

}

var t=new haoren2({a:3});

var t1=new haoren2({a:4});

 

t.haorenMethod()

t.haorenMethod_1();

t.haorenMethod2();

t.haorenMethod2_1();

alert(t.a);//4

alert(t1.a);//4

引用标出处      
如果我理解的有误 请指正 谢谢 yitian_web@hotmail.com

想给js (面象对象)  写一个模板 

分享到:
评论

相关推荐

    理解JavaScript的prototype属性

    3. **Function的原型和它的prototype属性无关**:Function对象的原型可以通过`Function.prototype`访问,而`prototype`属性是用于设置构造函数生成实例时继承的原型。 4. **原型链**:JavaScript对象形成一个原型链...

    JavaScript中的原型继承基础学习教程

    在JavaScript中,每个对象都与另一个对象相关联,后者称为前者的原型(prototype),原型对象为前者的属性和方法提供了共享的基础。理解原型继承是掌握JavaScript面向对象编程的核心。 在原型继承中,每个对象都...

    prototype::anchor:原型

    在JavaScript中,原型(Prototype)是一个非常核心的概念,它与对象继承密切相关。原型是JavaScript实现面向对象编程的一种机制,使得对象能够共享属性和方法。在JavaScript中,每个对象都有一个内部属性`[...

    objects.js:使用Javascript进行高性能游戏的核心类工具和对象池

    面向对象-最好的javascript类系统(感谢Prototype和class.js / Javascript MVC),并进行了一些调整。 池化-垃圾回收对于高性能应用程序来说是一个痛苦,因此,我们不是零星地实现它,而是构建了一种轻松地池化...

    Javascript数组操作高级心得整理

     使用[removed]调用外部的JavaScript(.js文件) 4  如何与老浏览器打交道 4 (2) 把JavaScript代码放到HTML页面不同的位置 4  把JavaScript代码放到HTML<body>部分 4  把JavaScript代码放到HTML<head...

    JavaScript 程序开发手册

    13. **跨平台开发**:利用JavaScript框架(如React Native、Ionic、Cordova)进行移动应用开发,或者使用Node.js进行后端开发,展现其平台无关性。 手册中的"说明.htm"可能包含手册的使用指南和目录结构,"readme....

    论文《基于JavaScript切片的AJAX框架网络爬虫技术研究》

    随着AJAX技术的发展,各种框架如jQuery、Prototype.js、ExtJS等相继问世。然而,现有的网络爬虫技术在处理AJAX框架时面临着诸多挑战,特别是对于动态内容的抓取和解析。传统的爬虫往往只能获取静态页面的信息,对于...

    javascript-OOP:JavaScript OOP

    **继承**是OOP中的另一个关键概念,JavaScript通过原型链(Prototype Chain)实现继承。一个对象可以继承另一个对象的属性和方法。使用`__proto__`或`Object.create()`可以创建子对象,而ES6引入的`class`语法糖则...

    js实例属性和原型属性示例详解

    实例属性和原型属性分别是对象中属性的两种类型,它们决定了属性的访问方式和存储位置,也关联到JavaScript的原型继承机制。 实例属性是直接在构造函数中使用this关键字定义的属性,如在上述代码中User构造函数内...

    浅谈Javascript的静态属性和原型属性

    其次,原型属性(prototype properties)是JavaScript实现继承的一种机制。每个函数都有一个`prototype`对象,这个对象的属性和方法会被所有该函数创建的对象共享。在示例代码中,`Atest.prototype.msg`是原型方法,...

    Javascript基础回顾之(三) js面向对象

    在JavaScript中,面向对象编程(OOP)是通过对象、构造函数、原型和继承等概念实现的。 **对象**: 在JavaScript中,对象是一组无序的键值对,可以看作是C#的Dictionary。键通常是字符串,而值可以是任何类型,包括...

    Javascript中55个经典技巧

    29. **静态方法**:在类上定义,与实例无关的方法,`class MyClass { static myMethod() {} }`。 30. **getters/setters**:访问器属性,用于在访问或修改对象属性时进行控制。 31. **Symbol**:一种新的原始数据...

    javascript对象小结

    在深入探讨JavaScript对象的具体知识点之前,首先要指出的是,本文档内容存在一些OCR扫描错误,如“距离某天还有天”和“[Ctrl+A全选注:如需引入外部Js需刷新才能执行]”等内容,显然是由于扫描识别过程中产生的错误...

    阿里巴巴2016校园招聘 前端开发工程师笔试题.pdf

    6. **JavaScript继承与原型链**:JavaScript的继承机制基于原型链,而非传统的类式继承。每个对象都有一个`__proto__`属性,指向创建它的构造函数的`prototype`。当访问对象的属性时,JavaScript会沿着原型链向上...

    newDemo.rar_JavaScript_

    原型是JavaScript继承的基础,每个对象都有一个[[Prototype]]内部链接,通常通过`__proto__`属性或`Object.getPrototypeOf`方法访问。 4. **数组与集合**:JavaScript提供Array数组类型和Map、Set等集合数据结构,...

    JavaScript设计模式之适配器模式介绍

    通过继承或对象组合,我们可以创建一个适配器类,使得现有的不兼容接口变得兼容。 适配器模式通常包含三种角色:目标接口(Target)、待适配的类(Adaptee)和适配器类(Adapter)。 目标接口(Target)定义了客户...

    JavaScript基础之静态方法和实例方法分析

    静态方法通常用于不需要访问实例属性或执行与实例状态无关的操作,而实例方法则常用于处理特定实例的数据和行为。在设计类时,应根据方法的用途来选择合适的方法类型,以提高代码的可读性和效率。 在JavaScript中,...

Global site tag (gtag.js) - Google Analytics