Javascript объект против JScript словарь - PullRequest
4 голосов
/ 04 июня 2009

Объекты Javascript и JScript Dictionary являются ассоциативными массивами

obj = new Object ;
dic = new ActiveXObject("Scripting.Dictionary") ;

У меня вопрос ... Есть ли разница между ними с точки зрения эффективности (пространства или времени) ??
С точки зрения функциональности, я знаю, что Словарь лучше, потому что он позволяет использовать в качестве ключей больше, чем просто скалярные типы. Но если оставить в стороне, какой из них лучше / быстрее?

EDIT:
Это для сценариев Windows, а не для веб-разработки.

EDIT2:
Я особенно заинтересован в эффективности поиска, так как мне нужно работать с большими коллекциями.

Ответы [ 3 ]

2 голосов
/ 04 июня 2009

Javascript-объектам присущ механизм исполнения; Scripting.Dictionary - это COM-объект, выполняющий вызовы взаимодействия для каждой операции.

Для всего, что есть в javascript, я бы предпочел использовать тип in-engine, если у меня не было острой необходимости поиска, основанного на каком-либо другом COM-объекте с хорошей семантикой равенства ...

2 голосов
/ 04 июня 2009

Из этого документа видно, что поиск выполняется быстрее с использованием словаря; однако вставки медленнее.

http://www.4guysfromrolla.com/webtech/100800-1.2.shtml

2 голосов
/ 04 июня 2009

Scripting.Dictionary является компонентом COM / ActiveX (может использоваться на любом из языков сценариев MS).

Я бы не советовал, потому что каждый раз, когда вы обращаетесь к нему, вы вызываете компонент COM, который очень медленный.

Но если вам нужна его функциональность, вы можете использовать ее, но учтите, что она работает только в IE ...

...