`
tiger361577309
  • 浏览: 365 次
  • 性别: Icon_minigender_1
  • 来自: 大连
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

js 中实现面向对象

阅读更多
通过function的prototype实现面向对象
Function.prototype.extend=function(superCls){
var self_prototype=this.prototype;
var super_prototype=superCls.prototype;
this.super=super_prototype;
self_prototype.super=super_prototype;
for(var key in super_prototype){
if(!self_prototype[key]){
self_prototype[key]=super_prototype[key];
}
}
return this;
}
Function.prototype.body=function(obj){
for(var p in obj){
this.prototype[p]=obj[p];
}
return this;
}

以下是测试代码
var Animal=function(){
alert("Animal name is "+this.name);
}.body({
name:"generic animal",
sing:function(){
alert(this.name+" sing");
}
});
var Chiken=function(){
Chiken.super.constructor.apply(this, arguments);// or this.super.constructor.apply(this, arguments);
alert("Chiken name is "+this.name);
}.body({
name:"chiken",
sing:function(sth){
alert(this.name+" sing ji ji gou " + sth);
}
}).extend(Animal);
var Duck=function(){
Duck.super.constructor.apply(this,arguments);
alert("Duck name is "+this.name);
}.body({
name:"duck",
sing:function(){
Duck.super.sing.apply(this,arguments)
alert(this.name+" sing gua gua");
}
}).extend(Animal);
var TomDuck=function(){
TomDuck.super.constructor.apply(this,arguments);
alert("TomDuck name is "+this.name);
}.body({
name:"Tom duck",
sing:function(){
alert(this.name+" what's fuck sing");
}
}).extend(Duck);
var tomDuck=new TomDuck();
tomDuck.sing();
var duck=new Duck();
duck.sing("....");
分享到:
评论

相关推荐

    Javascript面向对象编程.

    这篇博客文章可能详细讨论了如何在JavaScript中实现面向对象编程。 在JavaScript中,面向对象主要通过以下三种方式实现: 1. **构造函数(Constructor)**:构造函数是一种特殊的函数,用于创建和初始化对象。我们...

    js 面向对象实例

    面向对象编程在JavaScript中的实现主要基于以下三个概念:构造函数、原型和实例化。构造函数是一个特殊类型的函数,用于创建和初始化一个新对象。当你定义一个构造函数时,实际上是在定义一个对象类型。例如: ```...

    javascript面向对象框架

    "javascript面向对象框架"这一主题涵盖了JavaScript中实现面向对象编程的框架,特别是Prototype和MooTools这两个优秀的库。 Prototype是JavaScript的一个开源库,它扩展了JavaScript的基本对象和函数,提供了强大的...

    javascript 经典面向对象设计

    在JavaScript中实现面向对象编程主要包括以下几个方面: - **类与对象**:JavaScript没有内置的类的概念,但在ES6中引入了`class`关键字来模拟类的行为。对象则是由类实例化出来的具体实体。 - **封装**:封装是指...

    Javascript实现面向对象技术PPT 超牛 不看后悔

    这份名为“JavaScript实现面向对象技术PPT 超牛 不看后悔”的资料,显然深入探讨了这一主题。 面向对象编程的核心概念包括类(Class)、对象(Object)、继承(Inheritance)、封装(Encapsulation)和多态...

    面向对象JavaScript精要(英文原版pdf)

    作者深入浅出地介绍了面向对象编程的基本原理以及如何将这些原理应用于JavaScript中。 #### 二、面向对象编程基础 面向对象编程(OOP)是一种软件开发方法,它通过将数据和处理这些数据的方法捆绑在一起形成“对象”...

    JS面向对象教程.pdf

    通过这些示例,我们可以看出,JavaScript面向对象教程通过构造函数、对象字面量、原型、数组和HTML表单的交互等知识点,为开发者展示了如何在JavaScript中实现面向对象编程的基本技巧和高级应用。掌握这些内容对于...

    js 贪吃蛇(面向对象)

    本案例"js 贪吃蛇(面向对象)"就是一个很好的示例,它将经典的贪吃蛇游戏实现为一个面向对象的程序。下面我们将详细探讨这个案例中的相关知识点。 首先,我们要理解面向对象的基本概念。面向对象编程(Object-...

    JavaScript 面向对象编程

    JavaScript中实现面向对象编程的核心机制之一是构造函数和原型链。构造函数是一种特殊的函数,用于创建和初始化对象。例如: ```javascript function Person(name, email, website) { this.name = name; this....

    JS面向对象经典案例

    JS 面向对象经典案例 在JavaScript中,面向对象编程是非常重要的一部分。它提供了一种创建和组织代码的方式,能够让开发者更好地组织和维护代码。在本文中,我们将介绍JavaScript面向对象编程中的经典案例,包括...

    javascript面向对象编程PDF

    在文档提供的代码示例中,Lecture类和Schedule类展示了如何在JavaScript中实现面向对象编程。Lecture类拥有name和teacher两个属性,以及一个display方法,用于显示课程信息。Schedule类则用于管理课程表,它通过...

    Javascript 面向对象的JavaScript进阶

    在面向对象的JavaScript中,类的成员可以根据它们与类和对象的关系分为“类成员”和“实例成员”。 ##### 8.2.1 实例属性和实例方法 **定义:** 实例成员包括实例属性和实例方法。每个对象实例都有自己的实例属性...

    JavaScript面向对象编程指南.pdf

    如何实现JavaScript中缺失的面向对象特性,如对象的私有成员与私有方法;如何应用适当的编程模式,发挥JavaScript语言特有的优势;如何应用设计模式解决常见问题等。 《JavaScript面向对象编程指南》着重介绍...

    JavaScript面向对象编程指南

    如何实现JavaScript中缺失的面向对象特性,如对象的私有成员与私有方法;如何应用适当的编程模式,发挥JavaScript语言特有的优势;如何应用设计模式解决常见问题等。, 《JavaScript面向对象编程指南》着重介绍...

    js实现面向对象基础代码

    如果你读过extjs的原代码,一定知道它是基于面向对象思想代码。该代码不同于extjs,更加合理且容易理解。

    Javascript 面向对象编程

    这使得在JavaScript中实现面向对象编程时需要采取一些不同的策略。 #### 二、封装 封装是面向对象编程的基本原则之一,它指的是将数据和操作这些数据的方法包装在一起,隐藏对象的内部状态和细节,只通过接口来与...

    面向对象JavaScript开发

    在JavaScript中,面向对象主要通过构造函数、原型链、原型对象和闭包等机制来实现。 1. **构造函数**:构造函数在JavaScript中扮演着类的角色,它们通常用来初始化新创建的对象。我们可以通过`new`关键字调用构造...

    javascript面向对象编程(中文)

    在本“JavaScript面向对象编程”主题中,我们将深入探讨这一概念及其在JavaScript中的应用。 1. **对象和类的概念**:在面向对象编程中,对象是数据和操作这些数据的方法的集合。在JavaScript中,对象是由键值对...

    通过面向对象利用JS实现五彩小球

    在JavaScript中,我们可以通过构造函数、原型链以及闭包等机制实现面向对象。在五彩小球的例子中,我们可以创建一个`Ball`类,包含小球的位置、颜色、大小等属性,并提供移动、绘制等方法。 2. **JavaScript中的类...

Global site tag (gtag.js) - Google Analytics