Tôi đang cố gắng để viết tương đương với VBScript của một hàm tương tự như những gì dưới đây:Trả về Null hoặc Không có gì từ hàm VBScript?
object getObject(str)
{
if (...)
{
return object_goes_here;
}
return null;
}
Tôi đoán sẽ là dưới đây, ngoại trừ việc tôi không hiểu sự khác biệt giữa Không có gì và Null. Là người gọi, tôi muốn thử nghiệm nếu giá trị trả về được đặt bằng cách sử dụng IsNull()
so với 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
Làm thế nào để InStr thoát khỏi nó? Dường như nó trả về giá trị tương đương .NET của một Nullable. http://www.w3schools.com/vbscript/func_instr.asp –
jglouie
@jglouie 'InStr' chấp nhận một' VARIANT' làm tham số của nó, không phải là một đối tượng. Sau đó, nó sẽ kiểm tra 'VARIANT' và cố gắng cung cấp cho bạn những gì bạn mong đợi. Trả về 'Null' nếu toán hạng chuỗi là' Null' là một khái niệm chung rất chuẩn từ cơ sở dữ liệu. Đối với các chuỗi trong VB6 (và VBScript), chúng không phải là đối tượng, chúng không thể là 'Không có gì'. Vâng, chúng có thể, nhưng được gọi là 'vbNullString' và không được phát hiện với' Không có gì'. – GSerg