`
lvbaosong
  • 浏览: 33080 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

js面向对象编程之(一)——命名空间的定义

阅读更多
   js虽说不具有像java等高级语言的面向对象特性,也没有像java语言定义命名空间那么容易,但是通过一些技巧完全可以实现js的面向对象编程,看起来还算是幽雅,呵呵。为了定义一个js类,我们首先要做的就是定义命名空间,就像java中定义一个类首先要定义包名一样重要,它可以有效防止类冲突。在js中我们是这样实现命名空间定义的:
    例如要创建一个Shape类,则需对应创建一个Shape.js文件,将该文件置于com/mycompany文件加下,在Shape.js中定义如下
      // Create the global symbol "com" if it doesn't exist
// Throw an error if it does exist but is not an object
var com;
if (!com) com = {};
else if (typeof com != "object")
    throw new Error("com already exists and is not an object");

// Repeat the creation and type-checking code for the next level
if (!com.mycompany) com.mycompany= {}
else if (typeof com.mycompany!= "object")
    throw new Error("com.mycompanyexists and is not an object");

// Throw an error if com.mycompany.Shape already exists
if (com.davidflanagan.Class)
    throw new Error("com.mycompany.Shape already exists");

// Otherwise, create and populate the namespace with one big object literal
com.mycompany.Shape= function(){
    this.init= function(data) { /* code here */ }
};

//also you can define other methods as many as you want
com.mycompany.Shape.prototype={
             method1:function(param1,param2){},
             method2:function(){}
               ....
}
以上就完成了一个命名空间为com.mycompany的Shape类定义,该类为Shape.js
分享到:
评论

相关推荐

    JavaScript面向对象编程指南

    JavaScript是一种广泛应用于Web开发的动态编程语言,尤其在构建交互式和富媒体网站时不可或缺。...《JavaScript面向对象编程指南》这本书会是深入这一主题的好资源,建议仔细阅读并实践其中的示例。

    JAVASCRIPT-使用面向对象的技术创建高级 Web 应用程序

    这一点对于实现面向对象编程尤为重要。 **构造函数而不是类** 在JavaScript中,没有传统意义上的“类”。相反,我们使用构造函数来创建对象。构造函数本质上就是一个普通的函数,通过使用`new`关键字调用来创建新...

    Object_Oriented_Javascript

    面向对象编程(OOP)是现代软件工程的基础之一,它为复杂问题提供了结构化的解决方案。《Object_Oriented_Javascript》这本书详细介绍了如何在JavaScript中实现面向对象编程。 #### 面向对象编程基础 面向对象编程...

    编程语言语法(vb powerbuilder c++ javascript)对照

    - **C++**:是一种静态类型的、编译式的、通用的、大小写敏感的、不仅支持过程化编程,也支持面向对象编程的程序设计语言。它有复杂的内存管理机制,包括指针操作和动态内存分配。 - **JavaScript**:主要用于客户端...

    javaScript世界万物诞生记

    ### JavaScript世界万物诞生记——面向对象的理解 #### 一、无中生有 在JavaScript的世界里...通过这个故事,我们可以更好地理解JavaScript中对象和构造函数的工作原理,以及面向对象编程在JavaScript中的应用方式。

    JavaScript语言精粹(JavaScript.The.Good.Parts).pdf

    6. **面向对象编程**: 虽然JavaScript本身并不是一种典型的面向对象语言,但本书还是介绍了一些实现面向对象编程的方法。 7. **性能优化**: 提供了有关如何优化JavaScript性能的建议,包括减少DOM操作、避免全局作用...

    PHP实例开发源码——Compxler PHP版.zip

    2. **面向对象编程**:类的定义、继承、封装、多态等概念,以及如何使用命名空间来组织代码。 3. **错误和异常处理**:理解PHP的错误报告级别,如何捕获和处理异常,以及使用`try-catch`语句。 4. **文件系统操作*...

    C#入门经典(上)(附带实例讲解)

    在C#中,类是面向对象编程的核心,它定义了对象的属性和行为。通过创建类,我们可以构建复杂的数据结构和逻辑,实现程序的模块化。此外,C#支持继承、多态和接口,这些都是面向对象编程的重要特性,能够提高代码的...

    Javascript关键字及保留字

    1. **abstract**:在其他面向对象语言中表示抽象类,但在JavaScript中是保留字。 2. **enum**:在某些语言中用于枚举类型,JavaScript中未使用但保留。 3. **package**:在Java中用于组织类,JavaScript中保留。 4. ...

    TypeScript入门教程——pdf文档

    TypeScript 支持面向对象编程,引入了类的概念。类可以定义属性、方法和构造函数,通过继承和多态来实现代码复用。 ```typescript class Student implements Person { name: string; age: number; constructor...

    廖雪峰-JavaScript教程-PDF版

    - **面向对象**:尽管JavaScript没有传统意义上的类,但它支持基于原型的面向对象编程方式,可以通过构造函数和原型链来实现继承。 - **事件驱动**:JavaScript的核心之一在于处理用户的交互事件,如点击、滑动等。 ...

    网页模板——Prototype 开发者手册 PDF版.zip

    7. **Class系统**:Prototype引入了模拟面向对象编程的Class系统,允许开发者定义和继承类。 8. **Prototype与其他库的兼容性**:尽管Prototype对JavaScript原生对象进行了扩展,但它也提供了`Prototype.Browser`...

    javascript教程

    - **基于对象的语言**:JavaScript 支持面向对象编程,可以通过定义对象来封装数据和行为。 - **简单性**:JavaScript 的语法相对简单,易于学习,尤其适合 Web 开发初学者。 - **安全性**:JavaScript 在浏览器端...

    结课作业——信息管理系统.zip

    开发过程中,通常会采用面向对象的编程思想,利用Java的类库和框架,如Spring Boot、MyBatis等,来构建可扩展、易维护的后端服务。 在信息化管理领域,人工智能技术的融入为信息管理系统带来了新的可能。例如,通过...

Global site tag (gtag.js) - Google Analytics