使用外部库实现JavaScript的面向对象特性

ECMAScript是通过ECMA-262标准化的脚本程序设计语言,面向对象的JavaScript是对其的扩展和支持。

面向对象语言有能力支持类以及类中方法和属性的重用,在JavaScript中实现继承可以通过本身的多种方法来实现,比如call()、 apply()、仿冒、原型链,其中各有优缺点,此外还可以通过一些外部库实现继承的能力,比如xbObject、zinherit等。

◎通过对象仿冒来实现继承:

1. <script type="text/javascript">
2. function Parent(pName){
3.    this.name = pName;
4.    this.sayMyName = function(){
5.       alert(this.name);
6.    };
7. }
8.
9. function Mother(pName){
10.    this.name = pName;
11.    this.sayMyName = function(){
12.       alert(this.name+"sex*y");
13.    };
14. }
15.
16. function Child(cName,cNumber){
17.     this.myFace = Parent;
18.     this.myFace(cName);
19.     delete this.myFace;
20.
21.     this.myFace = Mother;
22.     this.myFace(cName);
23.     delete this.myFace;
24.
25.     this.number = cNumber;
26.     this.sayNumber = function(){
27.       alert(this.number);
28.     };
29. }
30.
31. var ObjP =new Parent("HideHai");
32. var ObjM =new Mother("Hidewow");
33. var ObjC =new Child("HideLow",3);
34.
35. ObjP.sayMyName();
36. ObjM.sayMyName();
37. ObjC.sayMyName();
38. ObjC.sayNumber();
39.   </script>

时间: 2024-10-10 11:59:48

使用外部库实现JavaScript的面向对象特性的相关文章

Javascript 面向对象特性_javascript技巧

1. JavaScript中的类型 -------- 虽然JavaScript是一个基于对象的语言,但对象(Object)在JavaScript中不是第一型的.JS 是以函数(Function)为第一型的语言.这样说,不但是因为JS中的函数具有高级语言中的函 数的各种特性,而且也因为在JS中,Object也是由函数来实现的.--关于这一点,可以在 后文中"构造与析构"部分看到更进一步的说明. JS中是弱类型的,他的内置类型简单而且清晰: ------------------------

面向对象的Javascript之一(初识Javascript)_js面向对象

1. Javascript最大的特性在于其灵活性.作为一名前端开发人员,既可以采用函数式的编程风格,也可以采用更复杂一点的面向对象的编程风格.不管你采用哪种风格,都可以完成一些非常有用的任务.因而,Javascript是一门面向过程的语言,同时也是一门面向对象的语言,进而可以模仿面向对象语言的编程模式和惯用法.我们用一个例子来说明:启动和停止动画. 如果你习惯于函数式的编程风格,代码会如下: 复制代码 代码如下: function startAnimation() { //启用动画 } func

详解JavaScript基于面向对象之创建对象(2)_javascript技巧

接着上文<详解JavaScript基于面向对象之创建对象(1)>继续学习. 4.原型方式        我们创建的每个函数都有一个通过prototype(原型)属性,这个属性是一个对象,它的用途是包含可以由特定类型的所有实例共享的属性和方法.逻辑上可以这么理解:prototypt通过条用构造函数而创建的那个对象的原型对象.使用原型的好处就是可以让所有对象实例共享它所包含的属性和方法.也就是说,不必在构造函数中定义对象信息,而是直接将这些信息添加到原型中.        原型方式利用了对象的pr

浅谈JavaScript中面向对象技术的模拟

javascript|对象 一.引言 在C#和Java语言中,面向对象是以类的方式实现的,特别是继承这个特性,类的方式继承表现出了强大的功能,而且也易于学习.JavaScript不是纯的面向对象的语言,而是基于对象的语言,对象的继承是以原型函数的形式继承的,很多初学者刚开始接触的时候不太理解,但是JavaScript这种以原型函数的形式实现面向对象技术,不仅是可行的,而且还为面向对象技术提供了动态继承的功能,本文主要讨论了JavaScript的面向对象技术.二.原型对象概述 每个JavaScri

第三讲 Java语言中的面向对象特性

对象 [课前思考] 1. 什么是对象?什么是类?什么是包?什么是接口?什么是内部类? 2. 面向对象编程的特性有哪三个?它们各自又有哪些特性? 3. 你知道java语言在面向对象编程方面有何独特的特点吗? 难点: 1. 理解方法重载和方法重写,不要混淆了两者的使用. 2. 类变量和类方法的使用. 3. 接口的使用.3.1 面向对象技术基础 3.1.1 面向对象的基本概念 面向对象的基本思想 面向对象是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象.类

在Microsoft AJAX Library下JavaScript的面向对象开发

Javascript对于做过Web程序的人不应该是陌生,初期是用来做一些简单的FORM验证,基本上是在玩 弄一些技巧性的东西.Javascript不是一个支持面向对象的语言,更加算不上一个开发平台,但是 Javascript提供了一个非常强大的基于Prototype的面向对象调用功能,这使得我们可以在自己需要的地 方使用他们.ASP.NET AJAX中也提供了对JavaScript面向对类型系统的支持. 在面向对象的语言(如C#,Java)里,命名空间.类.接口.方法等等这些对大家都不陌生,那么

浅谈Lua的面向对象特性

  这篇文章主要介绍了Lua的面向对象特性,包括对象和继承等传统OOP概念的几个关键知识点,需要的朋友可以参考下 面向对象的特性 类: 类是可扩展的模板用来创建对象,提供状态的初始值(成员变量)和行为的实现. 对象: 它是类的实例并具有分配给自己独立的内存. 继承: 它是由变量和类的函数被其他类继承的概念. 封装: 它是将数据和函数相结合的一类内的方法.数据可以在类的外部与函数的帮助下进行访问.它也被称为数据抽象. Lua的OOP 在Lua中实现面向对象与表和Lua的第一类函数.通过将函数和相关

JavaScript的面向对象编程基础_基础知识

重新认识面向对象为了说明 JavaScript 是一门彻底的面向对象的语言,首先有必要从面向对象的概念着手 , 探讨一下面向对象中的几个概念: 一切事物皆对象 对象具有封装和继承特性 对象与对象之间使用消息通信,各自存在信息隐藏 以这三点做为依据,C++ 是半面向对象半面向过程语言,因为,虽然他实现了类的封装.继承和多态,但存在非对象性质的全局函数和变量.Java.C# 是完全的面向对象语言,它们通过类的形式组织函数和变量,使之不能脱离对象存在.但这里函数本身是一个过程,只是依附在某个类上. 然

浅谈JavaScript中面向对象技术的模拟_javascript技巧

一.引言 在C#和Java语言中,面向对象是以类的方式实现的,特别是继承这个特性,类的方式继承表现出了强大的功能,而且也易于学习.JavaScript不是纯的面向对象的语言,而是基于对象的语言,对象的继承是以原型函数的形式继承的,很多初学者刚开始接触的时候不太理解,但是JavaScript这种以原型函数的形式实现面向对象技术,不仅是可行的,而且还为面向对象技术提供了动态继承的功能,本文主要讨论了JavaScript的面向对象技术. 二.原型对象概述 每个JavaScript对象都有原型对象,对象