首页 > 语言 > JavaScript > 正文

Javascript 中创建自定义对象的方法汇总

2024-05-06 14:49:43
字体:
来源:转载
供稿:网友

Javascript 中创建对象,可以有很多种方法。

Object构造函数/对象字面量:

抛开设计模式不谈,使用最基本的方法,就是先调用Object构造函数创建一个对象,然后给对象添加属性.

代码如下:
     var student = new Object();
     student.name = "xiao ming";
     student.age = 20;
     student.getName = function () {
         alert(this.name);
     }

熟悉javascript 对象字面量的同学,可以换一种更好的写法,至少看上去更简洁。

代码如下:
    var student = {
        name: "xiao hong",
        age: 18,
        getName: function () {
            alert(this.name);
        }
    };

 缺点:上面方法有个缺点就是,使用同一个接口创建很多类似的对象时,会产生大量重复的代码。这个应该很容易理解了,函数(方法或者类)一般是用来创建公共的方法,上面的对象创建过程,根本没有函数的影子,所以谈不上什么重用。

工厂模式:

工厂模式 抽象了具体创建对象的过程。就像一个黑盒,你只要调用函数(进入工厂),并且传入相应参数(各种原材料),就会出来一个相应的对象(工厂生产的产品)。工厂模式解决了创建多个相似对象的问题。

代码如下:
     function studentFactory(name,age) {
         var student = new Object();
         student.name = name;
         student.age = age;
         student.sayName = function () {
             alert(this.name);
         }
         return student;
     }
     var p1 = studentFactory("ming", 20);
     var p2 = studentFactory("hong", 18);

缺点:工厂模式也有缺点,最大的缺点就是 对象类型识别的问题。只能判断出对象是Object 类型(p1 instanceof Object),而无法具体判断出来是哪种类型。使用工厂模式创建出来的student 其实都有着类似的属性和方法,只是值不同而已。这时 更好的解决方法是,创建一个Student 函数,这样所有的对象都属于 Student 类型。所以工厂模式不是不好,只是 构造函数模式更优。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选