Вы можете вызвать методы для объекта javascript, используя два разных синтаксиса. Знакомый «точечный» синтаксис с параметрами parens для вызова метода и синтаксис квадратной скобки. Вы можете «вызывать» метод для объекта javascript, используя синтаксис myObj["methodname"](args)
. Это удобно, если вы хотите динамически строить имя метода с помощью строк. Помните, что объекты в javascript очень похожи на хеш-таблицу (словарь), где ключи обозначают имена свойств и функций. Если значение ключа содержит функцию, ее можно вызвать (используя круглые скобки).
В вашем примере массив имеет метод «длина». Вы непреднамеренно вызываете свой сеттер (который задает длину массива пустым значениям, т. Е. Неопределенным).
Отложив это в сторону, вы действительно хотите хэш (ассоциативный массив) в этом случае. Массив - это структура данных с индексом смещения.
Простой объект буквальным, как myObj = {}
будет достаточно, чтобы дать вам хэш семантики (опять же, объекты в JavaScript являются уже как хэшей), а затем вы можете вызвать myObj.whatever = "some value"
Что ваш случай использования? – Quentin
Мне нужно проанализировать файл, содержащий много слов, и сохранить количество вхождений каждого слова. – Cristy
Используйте вместо этого объект: var x = new Object(); x ["length"] = 5; x ["another_key"] = 10; и так далее. Итак, итерации по списку, вы можете сделать: for (var a in x) {...}. – Shredderroy