本文章摘自《VBScript程序员参考手册》第81-82页
尽管这三个变量都没有显式的生命,但VBScript并不在意。这段代码能正常的执行,最终会出现一个对话框并显示数字3。这似乎很方便。但是,这种方便的代价是高昂的。看下一个例子:再仔细看一下。您发现第三行中的拼写错误了吗?在输入大量的脚本代码时,这是一个很容易犯的错误。麻烦的是拼写错误并不会给VBScript带来任何麻烦。它会认为这个拼写错误只是一个新的变量,给它分配内存并将其子类型初始化为Empty。要VBScript对一个空变量做数学运算,它就会将其视为0。所以这段代码运行时,对话框显示的是数字1,而不是您所期望的数字3. 在这个简单得没有任何实际意义的脚本中查找和修复这个错误是很容易的,但是如果脚本中有成百上千行代码呢?如果不是1加2等于3,而是78523.6778262加上2349.25385然后再除以4.97432呢?查看结果就能发现其中的数学错误吗?如果不行,您甚至不会发觉您的脚本有错误。这在VBScript中是非常现实的问题,可能要过几周的时间您才会发现这个错误——更糟糕的是,可能是您的老板或客户发现了这个错误。 怎么才能避免这个问题?答案就是Option Explicit语句。要做的就是将Option Eplicit语句放到脚本的开头,所有的其他语句之前。这就是告诉VBScript,您的代码要求所有的变量在使用之前都必须先显式的声明。现在VBScript就不再会允许您在代码中不做声明就引入新的变量。 添加了Option Explicit语句后,如果尝试运行这段代码,VBScript会终止运行,并提示以下错误:Variable is undefined: 'lgnSecond'。这是个好消息,因为现在您就知道要修复这个错误。只要使用了Option Explicit语句,VBScript就会捕获变量的输入错误。
- lngFirst = 1
- lngSecond = 2
- lngThird = lngFirst + lgnSecond
- MsgBox lngThird