使用JavaScript伪造VbScript数组

时间:2011-06-07 16:16:11

标签: javascript vbscript

我正在使用JavaScript测试VbScript API。 VbScript API的一部分有一个构造,我必须假设它是一个可以读写的数组。我没有VbScript API的源代码,也没有访问它暂时运行的系统。在我的JavaScript测试代码中,它模拟了myObj和myFunc,因为我把它作为一个函数嘲笑,所以赋值会抛出一个错误,这并不奇怪。

    myObj.myFunc("xyz") = 1

模拟数组不起作用,因为JavaScript使用[]作为访问器。 一种解决方案是使用JavaScript包装对myFunc的调用,但我想知道是否有更巧妙的解决方案,JavaScript是一种柔韧的语言。

我想我已经在这里回答了我自己的问题......我只需要设置并读取一个值,这就是为什么它还没有被包装并作为一个数组进行模拟。答案是继续进行包装。

谢谢, 麦克

2 个答案:

答案 0 :(得分:0)

这个怎么样?

myObj.setValue("xyz", 1);

尝试模拟另一种语言的语法真的没有意义。

答案 1 :(得分:0)

我并不完全理解这个问题,但是如果你正在尝试创建一个可以使用该格式设置数组元素的JS构造,那很容易

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

http://jsfiddle.net/gcVSq/