从VBScript函数返回Null或Nothing?

use*_*144 9 vbscript

我正在尝试编写类似于下面的函数的VBScript:

object getObject(str)
{
    if ( ... )
    {
        return object_goes_here;
    }

    return null;
}
Run Code Online (Sandbox Code Playgroud)

我的猜测将在下面,除了我不理解Nothing和Null之间的区别.作为调用者,我宁愿测试是否使用IsNull()vs 设置返回值X Is Nothing.

Function getObject(str)
    If ... Then
        Set getObject = object_goes_here
        Exit Function
    End If

    Set getObject = Nothing  // <-- or should this be Null?
End Function
Run Code Online (Sandbox Code Playgroud)

GSe*_*erg 16

不返回对象的正确方法是返回Nothing并测试Is Nothing.

VB Null是Variant/Null类型的特殊值.还有其他特殊值,例如Variant/Empty或Variant/Error.它们都有它们的用途,但它不是那个.