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对象定义的几种方式

  • 2013年05月20日 15:20
  • 31KB
  • 下载

javascript对象的几种创建方式

javascript对象的几种创建方式 1,工厂模式 2,构造函数模式 3,原型模式 4,混合构造函数和原型模式 5,动态原型模式 6,寄生构造函数模式 7,稳妥构造函数模式 javascript继承...
  • zxxvip
  • zxxvip
  • 2017年06月16日 00:39
  • 257

JavaScript 创建类/对象的几种方式 (经典)

JavaScript 创建类/对象的几种方式 Posted on 2009-03-17 09:37 LucasYang 阅读(3426)评论(2) 编辑 收藏 在JS中,创建对象(C...

JavaScript 创建类/对象的几种方式

在JS中,创建对象(Create Object)并不完全是我们时常说的创建类对象,JS中的对象强调的是一种复合类型,JS中创建对象及对对象的访问是极其灵活的。 JS对象是一种复合类型,它允许你通...

Javascript笔记——对象的几种生成方式

javascript是一种灵活的语言,虽然不能严格的称之为面对对象,但是也有着某些面对对象的用法。其中生成对象有不少方法,看书总结了以下几种方法。   一,利用原生方法 1)利用new关键字构造...
  • rsj217
  • rsj217
  • 2012年02月28日 10:37
  • 766

JavaScript 创建对象的几种方式

object-created //1.factory pattern to create object, using this pattern we can not determ...

JavaScript创建对象几种方式

//利用函数来创建一个对象 function People(name){ this.name = name; this.printName = function(){ ...

Javascript创建对象的几种方式

1.构造函数方式,全部属性及对象的方法都放在构造方法里面定义 优点:动态的传递参数 缺点:每创建一个对象就会创建相同的方法函数对象,占用大量内存 function User1(name, pas...

JavaScript创建对象的几种方式

面向对象(Object-Oriented,OO)语言都有一个标志,那就是它们都具有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。而我们知道,ECMAScript中没有类的概念,因此它的对...

转:javascript中创建对象的几种方式

前言:          随着web 2.0 的兴起(最具代表性的是Ajax技术了),javascript不再是程序员眼中的“玩具语言”。 编程在不断的简化,可是“用户体验、性能、兼容性、可扩展.....
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javascript对象的几种方式
举报原因:
原因补充:

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