Подделка массива VbScript с помощью JavaScript - PullRequest
2 голосов
/ 07 июня 2011

Я использую и тестирую VbScript API с использованием JavaScript.Одна часть API VbScript имеет конструкцию, которую я должен предположить, это массив, из которого вы можете читать и писать.У меня нет исходного кода для API VbScript, и при этом я даже не имею доступа к системе, в которой он работает в настоящее время.В моем тестовом коде JavaScript, который макетирует myObj и myFunc, неудивительно, что присвоения генерируют ошибку, поскольку я имитирую ее как функцию.

    myObj.myFunc("xyz") = 1

Пересмотр в виде массива не будет работать, поскольку JavaScript использует[] как аксессор.Одним из решений было бы обернуть вызовы myFunc с помощью JavaScript, но мне было интересно, может ли быть более оригинальное решение, JavaScript является гибким языком, которым он является.

Я думаю, что я ответил на свой вопрос здесь... Мне нужно только установить и прочитать одно значение, поэтому оно еще не было упаковано и смоделировано как массив.Ответ заключается в том, чтобы пойти дальше и обернуть его.

Спасибо, Майк

Ответы [ 2 ]

0 голосов
/ 07 июня 2011

Я не совсем понимаю вопрос, но если вы пытаетесь создать конструкцию JS, которая может установить элемент массива с использованием этого формата, это довольно просто

Array.prototype.setValue = function(key,value) {
    this[key]=value;
};

http://jsfiddle.net/gcVSq/

0 голосов
/ 07 июня 2011

Как насчет этого?

myObj.setValue("xyz", 1);

На самом деле нет смысла пытаться симулировать синтаксис другого языка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...