我已经为Classic ASP(VBScript)+ firephp编写了一个开源调试类,想知道是否有可能获取传递给函数的变量的名称?我已经搜索过,但似乎找不到任何技巧来做到这一点。



码:

    log myVariable

输出:
    myVariable: "some value"

有任何想法吗?

最佳答案

我假设以下代码片段描述了您的情况:

Function myLog(myArg)
    ...
End Function

Dim xyz, abc
xyz = "some value"
abc = "some value"
myLog xyz
myLog abc

您希望函数知道是否使用变量xyz或abc来调用函数?

答案是否定的,原因有二。这种参数调用的一种就是“按值调用”,即使不是,也仍然没有在vbscript中使用任何机制,因为它知道您传递给它的原始变量名。

您想到了使用Dictionary Object而不是变量:
<%
Dim cars
Set cars = CreateObject("Scripting.Dictionary")
cars.Add "a", "Alvis"
cars.Add "b", "Buick"
cars.Add "c", "Cadillac"
Response.Write "The value corresponding to the key 'b' is " & cars.Item("b")
%>

关于asp-classic - 获取变量名称Classic ASP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9035124/

10-12 04:48