gpt4 book ai didi

JavaScript:通过构造函数创建对象和通过对象文字创建对象之间有什么区别?

转载 作者:行者123 更新时间:2023-11-28 13:22:09 26 4
gpt4 key购买 nike

这两个 Person 声明的主要区别是什么?

通过构造函数:

var Person = function (name, age) {
this.name = name;
this.age = age;
this.setName = function (name) {
this.name = name;
};
this.setAge = function (age) {
this.age = age;
};
};

var bob = new Person('Bob', 15);

通过对象文字:

var defaultPerson = {
name: '',
age: '',
setName: function (name){
this.name = name;
},
setAge: function(age){
this.age = age;
}
};

defaultPerson.setName('Fill');
defaultPerson.setAge(15);

这两个创建的对象是否有一些限制?

最佳答案

使用构造函数方式,您可以创建多个实例(非常相当于一个类):

var person1 = new Person('a',12);
var person2 = new Person('b',13);

而另一种方式只会创建该类的一个实例。

var person1 = {
// blah
};

对于 person2,您需要创建一个新对象:

var person2 = {
// blah
};

以 ctor 的方式,您还可以:
1. 运行代码。
2. 传递参数。
3.有原型(prototype)并支持对象的继承\扩展。

关于JavaScript:通过构造函数创建对象和通过对象文字创建对象之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32161245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com