VBscript“SET”问题

时间:2010-02-19 09:42:11

标签: vbscript

我知道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?

由于

2 个答案:

答案 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等语言中使用它的方法一样。