Saya memiliki kerangka kerja yang ditulis dalam VBScript. Di dalam beberapa fungsi dalam kerangka parameter fungsi ini diperiksa untuk pernyataan Nothing in If dan kemudian beberapa tindakan dieksekusi. Kode yang menggunakan kerangka kerja yang ditulis dalam Javascript. Jadi saya harus meneruskan Nothing to function untuk melakukan beberapa tindakan. Di IE8 dan versi sebelumnya bekerja pendekatan selanjutnya:
<script type="text/vbscript">
Function Test(val)
If (IsNull(val)) Then
Test = "Null"
ElseIf (IsObject(val)) Then
If (val Is Nothing) Then
Test = "Nothing"
End If
End If
End Function
Dim jsNothing
Set jsNothing = Nothing
msgBox(Test(jsNothing))
msgBox(Test(Null))
</script>
<script type="text/javascript">
alert(Test(jsNothing));
</script>
Di IE <9, keluaran akan: Nothing, Null, Nothing.
Di IE9: Nothing, Null, Null.
Bagaimana cara melewatkan Nothing dari Javascript ke VBScript di IE9?
Maaf, saya tahu ini jelek, tapi saya terjebak. Dan benci VBScript.
edit: Ada contoh fungsi kerangka kerja. Saya tidak bisa mengubahnya karena sudah banyak digunakan dalam aplikasi.
Function ExampleFunction(val)
If (val Is Nothing) Then
ExampleFunction = 1
Else
ExampleFunction = 0
End If
End Function
Memperbarui
Berhenti dari pekerjaan. Menemukan yang lebih baik.
IsObject(val) And val Is Nothing
tersebut masih akan menghasilkan kesalahan. Anda harus membaginya menjadi If bersarang.