Javascript数组到VBScript [英] Javascript array to VBScript

查看:46
本文介绍了Javascript数组到VBScript的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个使用Javascript构建的对象数组,我需要使用VBScript读取它(如下例所示).我找不到在VbScript代码中作为myArray对象遍历数组的方法.

I have an array of objects built using Javascript and I need to read it using VBScript (as in the example below). I cannot find a way to loop through the array in my VbScript code as the myArray object.

该示例简化了我的问题.我无法更改页面的默认语言. myArray对象必须使用javascript构建.数组必须使用内联vbscript输出.

The example is a simplification of my problem. I cannot change the default language of the page. The myArray object must be built using javascript. The array must be output using inline vbscript.

<%@ Language="VBScript" %>

<script language="javascript" runat="server">

    var myArray = [
        {
            name: "object 1"
        },
        {
            name: "object 2"
        },
        {
            name: "object 3"
        }
    ];

</script>

<%
    Response.Write(myArray) ' [object Object],[object Object],[object Object]
    'Response.Write(myArray(0)) ' ERROR
    'Response.Write(myArray[0]) ' ERROR
    Response.Write(myArray.[0]) ' [object Object]
    Response.Write(myArray.[0].name) ' object 1
    Response.Write(VarType(myArray)) ' 8
    Response.Write(myArray.length) ' 3
    Response.Write(VarType(myArray.[0])) ' 8
    Response.Write(VarType(myArray.[0].name)) ' 8
    Response.Write(TypeName(myArray)) ' JScriptTypeInfo
    Response.Write(TypeName(myArray.[0])) ' JScriptTypeInfo

    ' ERROR
    ' Type mismatch: 'UBound'
    'Response.Write(UBound(myArray))

    ' ERROR
    ' Object doesn't support this property or method: 'myArray.i'
    'Dim i
    'For i = 0 To myArray.length - 1
    '    Response.Write(myArray.[i])
    'Next
%>

推荐答案

似乎JScript数组方法仍然可以通过VBScript使用:

It seems the JScript array methods are still available via VBScript:

<script language="javascript" runat="server">
    var myArray = [
        {
            name: "object 1"
        },
        {
            name: "object 2"
        },
        {
            name: "object 3"
        }
    ];
</script>

<%
    Do While myArray.length > 0
        response.write myArray.shift().name
        response.write "<br>"
    Loop
%>

这篇关于Javascript数组到VBScript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆