<p>在脚本主体中声明或创建一个变量时,默认是全局作用域(global scope)的;而在函数或子例程中定义的变量,默认是私有作用域(private scope)的。</p>
<p>要显式声明变量的作用域,可用public语句和private语句</p>
<div class="cnblogs_code" style="border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; border-bottom: #cccccc 1px solid; padding-bottom: 5px; padding-top: 5px; padding-left: 5px; border-left: #cccccc 1px solid; padding-right: 5px; background-color: #f5f5f5"><pre><span style="color: #0000ff">public</span> MyArray(<span style="color: #800080">10</span>)</pre></div>
<p> </p>
<p> </p>
<p>默认情况下,变量不用事先声明也能使用。但这可能造成由于拼写错误而创建一个新变量,出现bug。</p>
<p>Option Explicit语句能帮助防止这类bug。</p>
<p>把语句Option Explicit作为脚本文件的第一行,接着用dim语句列出在脚本中使用的每个变量。(<em>dim常用来声明数组,但也可用来声明变量</em>)</p>
<div class="cnblogs_code" style="border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; border-bottom: #cccccc 1px solid; padding-bottom: 5px; padding-top: 5px; padding-left: 5px; border-left: #cccccc 1px solid; padding-right: 5px; background-color: #f5f5f5"><pre><span style="color: #0000ff">option</span> <span style="color: #0000ff">explicit</span>
<span style="color: #0000ff">dim</span><span style="color: #000000"> tomorrow
tomorrow </span>= <span style="color: #800000">"</span><span style="color: #800000">Saturday</span><span style="color: #800000">"</span><span style="color: #000000">
wscript.echo </span><span style="color: #800000">"</span><span style="color: #800000">Tomorrow is </span><span style="color: #800000">"</span> & tomottow</pre></div>
<p> 当脚本运行到未定义的tomottow时,会产生一条错误信息。如果没有option explicit语句,则不会报错,只是直接输出”Tomorrow is “。</p>