Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.09.2013, 19:12
Новичок на форуме
Отправить личное сообщение для shau-kote Посмотреть профиль Найти все сообщения от shau-kote
 
Регистрация: 19.09.2013
Сообщений: 4

arguments.length и for-in
Всем доброго времени суток.

Объясните, пожалуйста, следующий момент.
Насколько я понял, arguments - объект с полями 1, ... , n, length.

Но тогда почему такой код:
function f() {
        var out = '';
        for (var x in arguments) 
            out += x + ': ' + arguments[x] + '; ';
        alert(out);
    }

    f('a', 'b', 'c');

выводит "0: a; 1: b; 2: c; ".

Куда пропадает поле length?..
Ответить с цитированием
  #2 (permalink)  
Старый 20.09.2013, 19:23
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

вероятно, оно неперечислимое
Ответить с цитированием
  #3 (permalink)  
Старый 21.09.2013, 02:46
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Смотри http://learn.javascript.ru/descripto...рипторы
Добавлю что встроенные объекты имеют какие-то костыльные, магические "дескрипторы", так что Object.getOwnPropertyDescriptor может вернуть некорректный дескриптор. По крайней мере в WebKit я такое наблюдал
__________________
В личку только с интересными предложениями

Последний раз редактировалось danik.js, 21.09.2013 в 02:50.
Ответить с цитированием
  #4 (permalink)  
Старый 21.09.2013, 09:28
Новичок на форуме
Отправить личное сообщение для shau-kote Посмотреть профиль Найти все сообщения от shau-kote
 
Регистрация: 19.09.2013
Сообщений: 4

А, for-in перебирает только enumerable поля.
Тогда всё логично, да.
Меня просто сбило с толку описание for-in в учебнике:
Цитата:
Для перебора всех свойств из объекта используется цикл по свойствам for..in.
Спасибо за разъяснение.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск