是的, 两种语言定义的数组对象是不能互通的, 为此在JS还特有一个VBArray对象.
不建议在一个页面调用两种脚本语言(影响效率)

解决方案 »

  1.   

    VBArray 对象
    请参阅
    Array 对象
    要求
    版本 3
    提供对 Visual Basic 安全数组的访问。varName = new VBArray(safeArray) 
    参数
    varName 
    必选项。要赋值为 VBArray 的变量名。 
    safeArray 
    必选项。VBArray 值。 
    说明
    VBArrays 是只读的,并且不能被直接创建。在传递给 VBArray 构造函数之前 safeArray 参数必须已获得 VBArray 值。这只能通过从已有的 ActiveX 或其它对象获得值才能做到。VBArrays 可以有多维。每一维的下标可以不一样。dimensions 方法取得数组的维数;lbound 和 ubound 方法取得每个维的下标范围。示例
    下面的例子由三部分组成。第一部分是创建 Visual Basic 安全数组的 VBScript 代码。第二部分是将 VB 安全数组转换为 JScript 数组的 JScript 代码。这两部分都放到 HTML 页的 <HEAD> 节中。第三部分是放在 <BODY> 节中以运行其它两部分的 JScript 代码。<HEAD>
    <SCRIPT LANGUAGE="VBScript">
    <!--
    Function CreateVBArray()
       Dim i, j, k
       Dim a(2, 2)
       k = 1
       For i = 0 To 2
          For j = 0 To 2
             a(j, i) = k
             document.writeln(k)
             k = k + 1
          Next
          document.writeln("vbCRLF")
       Next
       CreateVBArray = a
    End Function
    -->
    </SCRIPT><SCRIPT LANGUAGE="JScript">
    <!--
    function VBArrayTest(vbarray){
       var a = new VBArray(vbarray);
       var b = a.toArray();
       var i;
       for (i = 0; i < 9; i++) 
       {
          document.writeln(b[i]);
       }
    }
    -->
    </SCRIPT>
    </HEAD><BODY>
    <SCRIPT LANGUAGE="JScript">
    <!--
       VBArrayTest(CreateVBArray());
    -->
    </SCRIPT>
    </BODY>
    属性
    VBArray 对象没有属性。