备注:JavaScript中没有类class的概念,一般把原型对象看作类

1. 工厂方法--使用new Object创建对象并添加相关属性

var Obj = new Object;
         Obj.name = 'sun';
         Obj.showName = function() {
    alert('this.name');
}

2. 使用构造函数来定义类(原型对象)

function Obj(name) {
         this.name = name;
         this.showName = function () {
          alert(this.name);
    }
}
  var obj1 = new Obj('xiaoxiao');
  var obj2 = new Obj('lili');

3. 使用prototype

var Obj = function () {}
           Obj.prototype.name = 'me';
           Obj.prototype.showName = function () {
          alert(this.name);
   }
   var obj1 = new Obj();
   var obj2 = new Obj();

4. 构造函数及原型混合方式

var Obj = function (name) {
    this.name = name;
    this.flag = new Array('A', 'B');
}
   Obj.prototype = {
           showName : function () {
           alert(this.name);
    }
}
   var obj1 = new Obj();
   var obj2 = new Obj();

obj1.flag.push('C');

alert(obj1.flag); // A,B,C
  alert(obj2.flag); //A,B

5. 动态原型方式(。。。)

备注:

定义类:

function 类名(){

}

----》

function 类名(){

this.属性名;//公开属性(可以通过对象名.属性名来访问)

var 属性名;//私有属性(只能通过对象的内部函数来访问)

}

JavaScript自定义类和对象的方法的更多相关文章

  1. [转]Javascript定义类的三种方法

    作者: 阮一峰 原文地址:http://www.ruanyifeng.com/blog/2012/07/three_ways_to_define_a_javascript_class.html 将近2 ...

  2. Javascript创建类和对象

    现总结一下Javascript创建类和对象的几种方法: 1.原始的创建方法: <script type="text/javascript"> var person = ...

  3. javascript常用的Math对象的方法

    简介 Math对象是在程序编程中用于执行一些数学任务的.Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数, ...

  4. Python - 类与对象的方法

    类与对象的方法

  5. 扩展javascript扩展(类,对象,原型)

     扩展javascript扩展(类,对象,原型)

  6. 新手指引,php什么是常量、变量、数组、类和对象及方法?

    众所周知,常量.变量.数组.类和对象及方法共同构成了PHP的基石.那么什么是常量?什么是变量?什么是数组?什么是类和对象及方法?我在此谈谈个人浅见,新手指引,高手勿喷. PHP 常量 定义:常量是单个 ...

  7. C#类、对象、方法和属性详解

    C#类.对象.方法和属性详解 一.相关概念: 1.对象:现实世界中的实体(世间万物皆对象) 2.类:具有相似属性和方法的对象的集合 3.面向对象程序设计的特点:封装 继承 多态 4.对象的三要素:属性 ...

  8. [Java]Java入门笔记(三):类、对象和方法

    七.类.对象和方法 类和对象的关系 类定义了对象的本质: 类(class)是对象(object)的模板,而对象(object)是类的一个实例(instance). 使多个对象的指向相同: Studen ...

  9. JavaScript定义类与对象的一些方法

    最近偶然碰到有朋友问我"hoisting"的问题.即在js里所有变量的声明都是置顶的,而赋值则是在之后发生的.可以看看这个例子: 1 var a = 'global'; 2 (fu ...

随机推荐

  1. XML学习笔记(二)-- DTD格式规范

    标签(空格分隔): 学习笔记 XML的一个主要目的是允许应用程序之间自由交换结构化的数据,因此要求XML文档具有一致的结构.业务逻辑和规则.可以定义一种模式来定义XML文档的结构,并借此验证XML文档 ...

  2. [51NOD1007] 正整数分组(DP,记忆化搜索)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1007 dp(id, s)表示第id个数之前,其中一个集合和为s ...

  3. How to evaluate a transimpedance amplifier (part 1)

    In this blog, I want take a different approach and describe the technical challenge encountered whil ...

  4. Node.js 事件循环(Event Loop)介绍

    Node.js 事件循环(Event Loop)介绍 JavaScript是一种单线程运行但又绝不会阻塞的语言,其实现非阻塞的关键是“事件循环”和“回调机制”.Node.js在JavaScript的基 ...

  5. ARM家族大检阅

    首先列举下几个名称: 6410 2440 210 A8 ARM9 ARM11 ARMv7 ARMv6 进行分类: 1.芯片名称: 2440 6410 210 2.ARM核: A8 ARM9 ARM11 ...

  6. CUBRID学习笔记 4 端口和win7下连接数据库cubrid教程

    都是官方的文档 ,水平有限, 大家可以看原文. http://www.cubrid.org/wiki_tutorials/entry/connecting-to-a-remote-cubrid-dat ...

  7. zoj 1453 Surround the Trees(凸包求周长)

    链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=453 Time Limit: 2 Seconds      Memory ...

  8. Redis数据导入工具优化过程总结

    Redis数据导入工具优化过程总结 背景 使用C++开发了一个Redis数据导入工具 从oracle中将所有表数据导入到redis中: 不是单纯的数据导入,每条oracle中的原有记录,需要经过业务逻 ...

  9. yii 中引入js 和css 的方式

    在yii中 我们需要引入css 和 js 的时候,yii 自身有需要的类. 当我在views 视图层中引入css 和 js , <?php Yii::app()->clientScript ...

  10. iOS - UIWindow

    前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UIWindow : UIView @available(iOS 2.0, *) public class UIWi ...