在javascript中实例化函数时设置自己的obj键
setting own obj key when instantiating a function in javascript
我刚开始在js中学习OOP。我的问题是,当您调用新函数("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)
是的,您可以使用括号表示法:
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)
相关文章:
- 使用数据上的角度更改设置集合的第一个元素的动画
- 按我自己的类克隆另一个元素的内容和顺序
- 如果值为空,如何设置输入的默认值?jQuery
- 如何配置分析以将数据发送到我自己的服务器
- 在不设置协议的情况下,使用javascript/jquery更改iframe-src
- 显示模块模式在Knockout中设置模型的新实例
- 如何使用jquery ajax和jsonp在您自己的域上读取json数据
- Javascript如何设置我自己的img宽度和高度(调整大小)
- 打破ng中的字符数组,重复并设置每个字符自己的输入标记
- 主干忽略 idAttribute 并设置自己的属性
- 阻止我自己的网站设置(第三方)cookie
- 设置自己的Openlayers Proxyhost
- 在javascript中实例化函数时设置自己的obj键
- 未捕获的类型错误:无法设置属性'src'为null的..选择你自己的冒险
- 我可以有一个javascript对象从内存中删除自己设置它的映射值为空
- 我如何使用backbone集合解析方法在每个模型上设置自己的id
- 将对象添加到Firebase时设置自己的关键点-AngularFire
- 使用的数学.如何在每个元素中设置我自己的角度值
- 在自己的范围内设置文本输入
- 设置自己的猫鼬模式_id属性