佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > VBScript中變量作用域

VBScript中變量作用域

熱門標(biāo)簽:服務(wù)器配置 Linux服務(wù)器 阿里云 銀行業(yè)務(wù) Mysql連接數(shù)設(shè)置 科大訊飛語音識別系統(tǒng) 團(tuán)購網(wǎng)站 電子圍欄
下午在寫程序的時候,碰到個變量重定義的問題,具體是在一個函數(shù)中的兩個地方定義了相同的變量,兩個變量分別放在IF語句的兩部分中,本來以為這兩次定義在語句中不同的塊,應(yīng)該沒有影響,然而在運行中IIS卻提示變量重定義,把重復(fù)定義去掉即正確。

解決了問題之后突然想到在Fdream的blog看過一篇文章《JavaScript變量無塊級作用域》,似乎這兩個是差不多的,在VBScript中變量同樣沒有塊級作用域。

再次去看了那篇文章之后我也做了下試驗,得到結(jié)果:在VBScript中,函數(shù)中定義的變量的作用域是整個函數(shù),而不是塊級,不管這個變量是在函數(shù)中哪個位置定義的。因此,函數(shù)中一個變量不管在函數(shù)的哪個位置定義,它在整個函數(shù)中都可以使用。

下面用一些例子來說明這個問題。
復(fù)制代碼 代碼如下:

Option Explicit
Sub foo()
    Dim var
    var="hello,world!"
    MsgBox var
End Sub
Call foo()

下面的代碼跟上面的代碼等效,但是var的定義放在了函數(shù)的最后:
復(fù)制代碼 代碼如下:

Option Explicit
Sub foo()
    var="hello,world!"
    MsgBox var
    Dim var
End Sub
Call foo()

下面的例子說明變量不管在哪定義,在整個函數(shù)中都是可以使用的,當(dāng)然如果把定義的位置放的特殊一點有利于代碼的清晰,閱讀起來比較方便,修改時也比較方便。
復(fù)制代碼 代碼如下:

Option Explicit
Sub foo()
    Dim var1
    var1="YES"
    MsgBox "var1: "var1vbCrLf"var2: "var2
    IF var1="YES" Then
        Dim var2
        var2="NO"
    End IF
    MsgBox "var1: "var1vbCrLf"var2: "var2
End Sub
Call foo()

在ASP開發(fā)中,寫一個函數(shù)時通常的做法是變量到用時才定義,雖然變量的作用域與定義的位置無關(guān),不過我覺得還是寫在變量使用之前比較好,以后改起代碼來比較方便,不至于修改了一段代碼之后還要翻到函數(shù)頭去修改變量定義。

您可能感興趣的文章:
  • JavaScript的變量作用域深入理解
  • 關(guān)于javascript 回調(diào)函數(shù)中變量作用域的討論
  • javascript中的變量作用域以及變量提升詳細(xì)介紹
  • 有關(guān)js的變量作用域和this指針的討論
  • 理解JavaScript變量作用域更輕松
  • 關(guān)于JavaScript中var聲明變量作用域的推斷
  • js變量作用域及可訪問性的探討
  • Javascript變量作用域詳解
  • ECMAscript 變量作用域總結(jié)概括

標(biāo)簽:棗莊 江蘇 蚌埠 衢州 廣元 萍鄉(xiāng) 衡水 大理

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《VBScript中變量作用域》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    米泉市| 黄冈市| 含山县| 道孚县| 镇坪县| 延安市| 雷波县| 许昌市| 江山市| 察哈| 苍山县| 微博| 临泉县| 筠连县| 凉城县| 夏津县| 敦煌市| 高淳县| 南阳市| 安龙县| 桑日县| 深州市| 朝阳县| 五大连池市| 寿宁县| 宁安市| 运城市| 阜宁县| 隆德县| 邛崃市| 海阳市| 土默特左旗| 饶河县| 黄陵县| 武汉市| 文安县| 永善县| 商城县| 海原县| 忻州市| 阳高县|