我发现vbscript类成员变量可以用外部常量值替换。
示例
VBScript
代码:
''' save as test.vbs file
Class Person
Private name
Public Sub hi
name= "inner_name"
msgbox name 'will be "outer_name"
End Sub
End Class
set p = new Person
p.hi
Const name = "outer_name"
您可以在 vbs 文件或经典的 asp 文件中运行此代码。
将代码保存到
test.vbs
中,双击运行。
你会看到“outer_name”.
为什么不“inner_name”?
按照我的理解,类私有成员变量应该不受外部代码影响。
可以修复吗?
最后是我的解决方法:
Sub
或 Function
与 ()
Public
和Me.XX
Class Person
Public Function name()
name= "inner_name"
End Function
Public Sub hi
msgbox name 'will be "outer_name"
msgbox name() 'will be "inner_name"
msgbox me.name 'will be "inner_name"
msgbox me.name() 'will be "inner_name"
End Sub
End Class
set p = new Person
p.hi
Const name = "outer_name"