使用带有对象的for循环打印出每个唯一对象的属性
Using a for loop with objects to print out properties of each unique object
我正在尝试一些新的东西,但我对当前的想法有意见。我还是个新手,正在努力掌握使用对象的基本知识,所以我可能对此完全不了解,但我想我可能会问大家,我所做的是否有机会奏效。
// first we can make the instructor
function Rabbit(adjective) {
this.adjective = adjective;
this.describeMyself = function() {
console.log("I am a " + this.adjective + " rabbit");
};
}
// now we can easily make all of our rabbits
var rabbit1 = new Rabbit("fluffy");
var rabbit2 = new Rabbit("happy");
var rabbit3 = new Rabbit("sleepy");
for (i=1;i<=3;i++){
//console.log("rabbit"+i);
var tempRabbit = "rabbit"+i;
console.log(tempRabbit.adjective);
}
我想使用for循环将数字添加到我创建的每个rabbit对象中,然后打印出它传递给它的形容词。
大多数人将兔子存储在数组中。这使得管理这些神奇生物不断增长的种群变得更加容易。
这里有一个例子:
var rabbitArray = [
new Rabbit("fluffy"),
new Rabbit("happy"),
new Rabbit("sleepy")
];
for (var i=0;i<rabbitArray.length;i++) {
console.log(rabbitArray[i].adjective);
}
你也可以把新兔子推到你的阵列中。有一种特殊的方法:
rabbitArray.push(new Rabbit("stubborn"));
如果您需要有关如何使用阵列来简化库存管理的更多信息,请参阅以下文档:Javascript arrays
在您的代码中:
> for (i=1;i<=3;i++){
> //console.log("rabbit"+i);
> var tempRabbit = "rabbit"+i;
> console.log(tempRabbit.adjective);
> }
tempRabbit的值是一个字符串,并且字符串没有形容词方法。由于Rabbit对象已分配给全局变量,因此可以将它们作为全局对象的命名属性进行访问。在浏览器中,窗口对象本质上是全局对象,因此您可以使用方括号表示法:
console.log(window[tempRabbit].adjective);
然而,最好把你的兔子放在一个数组中,并作为成员访问它们(根据其他答案)。
您可以将eval与:一起使用
eval('var tempRabbit = rabbit'+i+';');
这将创建并计算字符串。你必须知道,有些人觉得eval
很糟糕。
您可以使用一个数组,然后通过索引访问它。
var rabbits=[];
rabbits[0]= new Rabbit("fluffy");
rabbits[1] = new Rabbit("happy");
rabbits[2] = new Rabbit("sleepy");
相关文章:
- 如何从对象的原型方法访问JavaScript对象属性
- 如何将数组项添加到对象属性中
- 设置嵌套对象属性的更好方法
- JavaScript管理具有重复属性名称的对象属性
- 如何使用element.myobj.prop等具有对象属性的元素
- 如何使用(this)访问Angular 2 http rxjs catch函数中的对象属性
- Es6:能够在设置/更新/删除对象属性时调用自定义方法
- 如何在AngularJS工厂中正确声明对象属性
- 如何使用object.assign()从其他对象引用基本对象属性
- 使用XPath样式访问Javascript JSON对象属性
- 将javascript对象(属性+值)合并到一个对象中
- 数组:使对象属性成为数组键
- 无法从JavaScript中的函数调用对象属性
- Google Closure Advanced |无法识别对象属性|动态属性
- Javascript从匿名函数访问外部对象属性
- 从函数更改对象属性
- 如何从字符串变量访问对象属性
- 从嵌套对象属性中获取排除某个值的最高值
- 在Aurelia computeds中,当设置依赖关系时,如何声明对对象属性的依赖关系
- 传递数量不确定的可能嵌套的对象属性