Asp classic 为什么函数中对我的引用会返回VBScriptTypeInfo类型的对象?

Asp classic 为什么函数中对我的引用会返回VBScriptTypeInfo类型的对象?,asp-classic,vbscript,Asp Classic,Vbscript,考虑以下代码: Function foo() Set foo = me End Function MsgBox TypeName(foo()) 这将显示字符串VBScriptTypeInfo。为什么? 从函数返回me(独立,不在类内)似乎返回了一个有效的对象: IsObject(foo())返回True (foo()什么都不是)返回False 我们能否以某种方式详细说明返回的me对象以使其有用?只是猜测,但它是否与从JScript中的类似函数返回this相同?@oraclecerti

考虑以下代码:

Function foo()
    Set foo = me
End Function

MsgBox TypeName(foo())
这将显示字符串
VBScriptTypeInfo
。为什么?

从函数返回
me
(独立,不在类内)似乎返回了一个有效的对象:
IsObject(foo())
返回
True

(foo()什么都不是)
返回
False


我们能否以某种方式详细说明返回的
me
对象以使其有用?

只是猜测,但它是否与从JScript中的类似函数返回
this
相同?@oraclecertifiedprofessional是的,
this
me
有点类似。但是,在VBScript中,
me
仅用于对象,而JavaScript中的
也用于函数。我喜欢在有限的VBScript语言中找到巧妙的技巧,我想知道
me
在函数中做了什么,以及它是否对某些事情有用。有趣的是,a)我花了很多年才发现这个问题,b)在全局范围内根本没有“me”标识符。这是否适用于非asp VBScript脚本?Mmmh..完全奇怪:如果在QTP中执行,没有任何函数定义的MsgBox TypeName(me)返回一个包含整数的字符串。第一轮:“1”,第二轮“2”,依此类推。在函数中,它似乎是相同的“我”。Wtf?又一次奇怪了:看看“我”在QTPs调试器中看到了什么:一个有更多东西要探索的对象实例。(如果我们能找到时间:-)