Итерация по массивам Javascript с ключевым словом «in»

Кажется, я не понимаю значение ключевого слова в в JavaScript.

Взгляните на этот фрагмент кода ( http: // jsfiddle. net / 3LPZq / ):

var x = [1,2]
for(i in x){
    document.write(x[i]);
}

При запуске в jsfiddle он печатает не только значения, содержащиеся в массиве, но также все свойства и методы объекта массива.

Когда я меняю его вот так ( http://jsfiddle.net/4abmt/ ):

$(document).ready(function(){
var x = [1,2]
for(i in x){
    document.write(x[i]);
}});

он печатает только значения 1 и 2.

Почему это происходит? Это вызвано jQuery или поведение ключевого слова в зависит от того, полностью загружен документ или нет?

6
задан 19 August 2011 в 08:54
поделиться