gpt4 book ai didi

javascript - 自推对象构造器

转载 作者:数据小太阳 更新时间:2023-10-29 05:55:05 25 4
gpt4 key购买 nike

所以JavaScript是一种函数式语言,类是由函数定义的,函数作用域对应于类的构造函数。经过相当长的时间研究如何在 JavaScript 中进行 OOP,我现在明白了。

我想做的事情不一定可行,所以我首先想知道这是否是个好主意。假设我有一个数组和一个如下所示的类:

var Entry = function(name, numbers, address) {
this.name = name;
if(typeof numbers == "string") {
this.numbers = [];
this.numbers.push(numbers);
}
else this.numbers = numbers;
this.address = address;
};

var AddressBook = [];

然后我使用以下功能添加联系人:

function addContact(name, numbers, address) {
AddressBook.push(new Entry(name, numbers, address));
}

我不能让new Entry()自身 放入AddressBook 中吗?如果我不能在创建时执行此操作,那么也可以使用 Entry 原型(prototype)中的方法来执行此操作会很有趣。我想不出一种方法来做类似的事情。

最佳答案

您可以尝试将 AddressBook 数组引用传递给函数,如下所示:

var Entry = function(name, numbers, address, addressBook) {
this.name = name;
if(!(numbers instanceof Array)) {
this.numbers = [numbers];
}
else this.numbers = numbers;
this.address = address;
addressBook.push(this);
};

var addressBook = [];

function addContact(name, numbers, address) {
new Entry(name, numbers, address, addressBook)
}

关于javascript - 自推对象构造器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20169612/

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