gpt4 book ai didi

javascript - 在javascript中实例化函数时设置自己的obj键

转载 作者:行者123 更新时间:2023-12-03 11:46:18 24 4
gpt4 key购买 nike

我刚刚开始学习 js 中的 OOP。我的问题是,当您调用 new Function('key') 时是否可以动态设置 key ?为了更清楚,这是我的例子。

function Rabbit(type) {
this.type = type;
this.name = type+"Rabbit";
}
var cage = {};
cage.addAnimal( new Rabbit('fat') );
console.log(cage)

这将输出

 cage{ fatRabbit: Rabbit{
type: 'fat',
name: 'fatRabbit',
__proto__: function() {...}
}
} //<-- Rabbit is the new Rabbit('fat')

如果我做错了什么,请告诉我。谢谢!

答案:

而不是

cage.addAnimal( new Rabbit('fat') );

我所做的是:

var cage = {};
function Rabbit(type) {
this.type = type;
this.name = type+"Rabbit";
cage[this.name] = this;
}

new Rabbit('fat') // I simply call this and a new property is added on cage.
console.log(cage)

最佳答案

是的,您可以使用bracket notation为此:

function Rabbit(type) {
this.type = type;
this.name = type+"Rabbit";
}
var cage = {
addAnimal: function(animal) {
this[animal.name] = animal;
}
};
cage.addAnimal( new Rabbit('fat') );
console.log(cage)

关于javascript - 在javascript中实例化函数时设置自己的obj键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26033735/

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