Вход

Просмотр полной версии : Как это реализовать на JS


Bezlyj
06.03.2012, 01:30
Здравствуйте.
В JS коде страницы, использующей ActiveX компонент MS ListView применяется вот такая конструкция:
obj.Subitems(1)='text'
Как это может быть реализовано на JS? Всмысле как реализовать метод Subitems(), который по индексу может возвращать объект, которому можно присвоить значение через '=' ?

DreamTheater
06.03.2012, 01:45
У объектов в JS нету никаких индексов, только имена свойств. Индексы есть только у массивов и у массивоподобных объектов. Возможно Вы имеете ввиду вторые?

Bezlyj
06.03.2012, 01:57
Возможно. А какие массивоподобные объекты позволяют присвоить значение элементу через ()= ?

Aetae
06.03.2012, 02:11
Никакие. () в js - вызов функции и всё, соответственно используя данную конструкцию вы заменяете возвращённое функцией значение, что не имеет никакого смысла.

Bezlyj
06.03.2012, 02:19
Вот я тоже не пойму, но это жеobj.Subitems(1)='text' как то работает?
Эта конструкция присваивает значение элементу коллекции компонента.

Aetae
06.03.2012, 02:42
IE.

monolithed
06.03.2012, 09:20
Всмысле как реализовать метод Subitems(), который по индексу может возвращать объект, которому можно присвоить значение через '=' ?
В JS нет работы с ListView.
Однако если вас интересует только представление такой конструкции в JS:
ListView.ListItems(1).SubItems(1) = "text"

то так:

var ListView = {
ListItems: [[0, 1]]
}

ListView.ListItems[0][0] = 'text';

alert(ListView.ListItems[0][0]);