我知道VBScript中的set用于将对象引用赋值给变量。我只想了解其必要性:
Set fso = CreateObject("Scripting.FileSystemObject")
what about:
dim fso
fso = CreateObject("Scripting.FileSystemObject") //would not it create the object directly and assign to the variable?
由于
答案 0 :(得分:0)
我认为它只是“因为”。语言定义如下。 如果是CreateObject,则需要它,并且需要新的类。
因此它是普通变量和对象之间的区别。
与IsNothing,IsNull,......存在的原因相同。
答案 1 :(得分:0)
Dim
来分配变量,那就是变量。但是如果使用set,则实际上是“初始化”对变量的对象引用,以便您可以调用对象的“方法”,例如。
Set objFS = CreateObject("Scripting.FileSystemObject")
因为现在objFS
是参考,您可以执行
使用objFS.CreateFolder
创建文件夹,或删除文件夹:objFS.DeleteFolder
。使用objFS.FileExists
检查文件是否存在,或使用objFS.GetExtensionName
获取文件的扩展名等。
这个概念就像实例化一个类并在Java / Python等语言中使用它的方法一样。