javascript对象的几种方式

转载 2012年03月21日 09:27:09

一)基于已有对象扩充其属性和方法

var student = new Object();
student.name = "Chris";
student.sayName = function(name) {
    this.name = name;
    alert(this.name);
};

二)工厂方式

function getInfo() {
    alert(this.name + "," + this.age);
}

function CreateObj() {
    var obj = new Object();
    obj.name = "Chris";
    obj.age = 23;
    obj.getInfo = getInfo;
    return obj;
}

var obj1 = new CreateObj();
var obj2 = new CreateObj();

三)构造函数方式

function Student(name, age) {
    this.name = name;
    this.age = age;
    this.getInfo = function () {
        alert(this.name + "," + this.age);
    };
}

var stu = new Student("Chris", 23);
stu.getInfo();

四)原型(prototype)方式

function Student() {
}

Student.prototype.name = "Chris";
Student.prototype.age = 23;
Student.prototype.getInfo = function() {
    alert(this.name + "," + this.age);
};

var stu1 = new Student();
var stu2 = new Student();
stu1.name = 'Tony';
stu1.getInfo();
stu2.getInfo();

五)原型构造函数混合方式

function Student() {
    this.name = new Array();
    this.age = 23;
}

Student.prototype.getInfo = function() {
    alert(this.name + "," + this.age);
};

var stu1 = new Student();
var stu2 = new Student();
stu1.name.push("Chris");
stu2.name.push("Tony");
stu1.getInfo();
stu2.getInfo();

六)动态原型方式:在构造函数中,通过标质量让所有对象共享一个方法,而每个对象拥有自己的属性

function Student() {
    this.name = "Chris";
    this.age = 23;

    if (typeof Student.flag == "undefined") {
        Student.prototype.getInfo = function() {
            alert(this.name + "," + this.age);
        };
    }
    Student.flag = true;
}

var stu1 = new Student();
var stu2 = new Student();
stu1.getInfo();
stu2.getInfo();


JavaScript中的对象,如何创建对象,创建对象的7种模式

ECMA-262把对象定义为:”无需属性的集合,其属性可以包含基本值、对象或者函数。”严格来讲,这就相当于说明对象是一组没有特定顺序的值。对象的每个属性或方法都有一个名字,而每个名字都映射到一个值。正...
  • u014346301
  • u014346301
  • 2016年08月14日 16:33
  • 9618

JS创建对象几种不同方法详解

1、工厂模式弊端:没有解决对象的识别问题,即怎么知道一个对象的类型。 2、构造函数模式 与工厂模式相比: 1、没有显式的创建对象 2、直接将属性和方法赋给了this对象 3、没有return...
  • liuyan19891230
  • liuyan19891230
  • 2016年02月29日 14:28
  • 6831

JavaScript基础——面向对象的程序设计(一)创建对象的几种方式总结

简介 面向对象(Object-Oriented, OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。前面提到过,ECMAScript中没有类的概念,因...
  • Goskalrie
  • Goskalrie
  • 2016年06月03日 13:09
  • 3469

Javascript中的几种继承方式比较

开篇 从’严格’意义上说,javascript并不是一门真正的面向对象语言。这种说法原因一般都是觉得javascript作为一门弱类型语言与类似java或c#之类的强型语言的继承方式有很大的区别,...
  • kkkkkxiaofei
  • kkkkkxiaofei
  • 2015年06月12日 17:32
  • 10953

JavaScript四种函数调用方式

JavaScript四种函数调用方式
  • woaijianjiandandande
  • woaijianjiandandande
  • 2016年10月19日 12:21
  • 1322

简要描述 JavaScript 中定义函数的几种方式

JavaScript 中,有三种定义函数的方式: 1、函数语句:即使用 function 关键字显式定义函数。如:function f(x){ return x+1; }2、函数定义表达式:也称为“...
  • u012396955
  • u012396955
  • 2016年12月29日 16:39
  • 222

获取spring的applicationContext的几种方式

转自:http://www.blogjava.net/Todd/archive/2009/09/15/295112.html 方法一:在初始化时保存ApplicationContext对象 代码:...
  • u010743716
  • u010743716
  • 2013年11月25日 16:57
  • 1532

Java 创建对象的几种方式

我们总是讨论没有对象就去new一个对象,创建对象的方式在我这里变成了根深蒂固的new方式创建,但是其实创建对象的方式还是有很多种的,不单单有new方式创建对象,还有使用反射机制创建对象,使用clone...
  • w410589502
  • w410589502
  • 2017年02月22日 17:09
  • 1142

javaScript定义函数的三种方式

1,正常方法 function print(msg){     document.write(msg); } 对函数进行调用的几种方式:  函数名(传递给函数的参数1,传递给函数的参数2,…...
  • wk843620202
  • wk843620202
  • 2016年10月09日 16:10
  • 643

java中常见创建对象的方式有哪几种?

1、通过new语句实例化一个对象 2、通过反射机制动态创建对象 3、通过clone()创建对象 4、通过反序列化的方式创建对象...
  • yuleichun
  • yuleichun
  • 2017年03月06日 16:23
  • 434
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javascript对象的几种方式
举报原因:
原因补充:

(最多只允许输入30个字)