JS创建自定义对象

简介:JS中的对象是指一系列互相嵌套的健值对,在web开发中大多数空间都是以对象或数组的方式来提供给开发人员。那如何创建一个自定义的对象并且给对象添加属性和方法呢?

JS中的对象是指一系列互相嵌套的健值对,在web开发中大多数空间都是以对象或数组的方式来提供给开发人员。那如何创建一个自定义的对象并且给对象添加属性和方法呢?

1.通过Object实例创建自定义对象

//创建Object实例
var person = new Object();

//给对象添加属性并设置属性值
person.name = "rose";

//给对象添加方法
person.sayName = function () {
 console.log(this.name);
};

//调用自定义的对象方法
person.sayName();

//调用自定义的对象属性
console.log(person.name);

2.通过对象字面量创建自定义对象

var person = {
   name: "rose",
   sayName: function () {
       console.log(this.name);
   }
};

//调用对象方法
person.sayName();

上面两种方式是创建对象的两种基本方式,他们的原型就是 Object 。这两种方式有点就是简单快捷。

缺点:使用同一个接口创建很多对象,会产生大量的重复代码。比如我想再创建一个person1对象,我就得把上面的代码再重新写一遍,改变不同的属性值。

3.通过构造函数的方式创建自定义对象

构造函数方式的优点:以构造函数创建的对象,在其原型上都会有一个 constructor 属性,这个属性指向构造函数 Person 而这个属性最初是用来标识数据类型的。

//自定义构造函数,在函数中添加属性及方法
function Person(name) {
   this.name = name;
   this.sayName = function () {
       console.log(this.name);
   };
}

//实例化对象
var p = new person("测试构造函数创建自定义对象");

//调用对象方法
p.sayName();

结合上面的自定义对象的创建方法,我们还可以优化一下,通过工厂方法创建一个自定义的对象。

function createPerson(name){
    var person = new Object();
    person.name = name;
    person.sayName = function () {
        console.log(this.name);
    };
    return person
}

//通过工厂方法获取对象
var p = createPerson('测试工厂方法');
//调用对象的方法
p.sayName();

注意:构造函数方法没有返回值,而工厂方法返回的是已创建的对象,调用方式已不一样。

总结

创建对象,有四种方式,其中第一种字面量创建对象的方式最常见和简单,直观,每一种方式创建对象都有自己的好处,比如动态的设置参数,前三种就比较合适

 

有遗漏或者不对的可以在我的公众号留言哦

编程经验共享公众号二维码

编程经验共享公众号二维码
更多内容关注公众号
Copyright © 2021 编程经验共享 赣ICP备2021010401号-1