Array & Object
Что выведет в консоль следующий код:
var test = {'1': 'one', 1: 'two'};
console.log(test['1']); //two
console.log(test[1]); //two
console.log(test.1); //SyntaxError
Для обхода всех свойств объекта можно воспользоваться конструкцией for in
:
var foo = {moo: 2};
Object.prototype.bar = 1;
for(var i in foo){
console.log(i); // prints both bar and moo
}
Чтобы увидеть только собственные свойства объект, без свойств из прототипа, можно написать:
var foo = {moo: 2};
Object.prototype.bar = 1;
for(var i in foo){
if(foo.hasOwnProperty(i)){
console.log(i); // prints both bar and moo
}
}