备注: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. [POJ2182]Lost Cows(树状数组,二分)

    题目链接:http://poj.org/problem?id=2182 题意:给定1~n个数和n个位置,已知ai表示第i个位置前有ai个数比当前位置的数小,求这个排列. 和刚才YY的题意蛮接近的,用树 ...

  3. ARM工作模式

    ARM工作模式 学习ARM的最好的资料是ARM公司发布的资料:ARM Architecture Reference Manual.pdf 找到章节:Programmers’ Model 由文档可知:A ...

  4. 线程入门之start()和run()的区别

    package com.thread; /** * start()和run()的区别 * start():并行执行 * run():方法调用,顺序执行 * @author 95Yang */ publ ...

  5. implement "slam_karto" package on a Freight robot

    1. login ssh fetch@<robot ip or robot name> 2.  set robot master modify .bashrc in robot's com ...

  6. Linux_服务

    1.服务启动顺序 http://bbs.chinaunix.net/thread-1970916-1-1.html http://bbs.csdn.net/topics/240060477 2.Lin ...

  7. jquery ajax 实例

    $(function(){ $.ajax( { url:'{:U('shenhe')}',// 跳转到 action data:{ }, type:'post', cache:false, dataT ...

  8. python的最最最最最基本语法(2)

    函数的定义: 使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 当用return 返回多个值时,返回的其实是一个tuple, ...

  9. jquery实现全选、反选、不选

    <!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8&quo ...

  10. select动态增加option

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...