最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript函數(shù)作用域?qū)W習(xí)示例(js作用域)

 更新時(shí)間:2014年01月13日 10:26:10   作者:  
javascript中沒有塊級作用域,取而代之的javascript使用的是函數(shù)作用域,下面使用示例學(xué)習(xí)一下js作用域的使用方法

在一些類似c語言的編程語言中,花括號內(nèi)的每一段代碼都具有各自的作用域,而且變量在聲明他們的代碼段之外是不可見的,我們稱為塊級作用域(block scope),而javascript中沒有塊級作用域。取而代之的javascript使用的是函數(shù)作用域(function scope):變量在聲明它的函數(shù)體以及這個函數(shù)體嵌套的任意函數(shù)體內(nèi)都是有定義的。 在如下代碼中,在不同位置定義的i,j和k,他們再同一個作用域內(nèi)都是有定義的

復(fù)制代碼 代碼如下:

function text(o)  
{  
    var i=0;  
    alert(typeof o);  
    if(typeof o == "string")  
    {  
        var j=0;  
        for(var k=0;k<10;k++)  
        {  
            alert(k);//輸出0-9  
        }  
        alert(k);//輸出10  
    }  
    alert(j);//輸出0  
}

javascript的函數(shù)作用域指在函數(shù)內(nèi)部聲明的所有的變量在函數(shù)體內(nèi)始終是可見的。有意思的是,這意味著變量在聲明之前甚至已經(jīng)可用。javascript的這個特性被非正式的稱為聲明提前(hoisting),即javascript的函數(shù)體內(nèi)聲明的所有的變量(不涉及賦值)都被“提前”至函數(shù)體的頂部。看以下代碼

復(fù)制代碼 代碼如下:

var global="globas";  
function globals()  
{  
    alert(global);//undefined  
    var global="hello QDao";  
    alert(global);//hello QDao  
}

由于函數(shù)作用域的特性,局部變量在整個函數(shù)體始終是有定義的,也就是說在函數(shù)體內(nèi)部變量遮蓋了同名的全局變量。盡管如此在程序執(zhí)行到var語句的時(shí)候,局部變量才會被真正的賦值,因此,上述過程等價(jià)于:將函數(shù)內(nèi)的變量聲明“提前”至函數(shù)體頂部,同事變量初始化留在原來的位置:

復(fù)制代碼 代碼如下:

var global="globas";  
function globals()  
{  

       var global;  
    alert(global);//undefined  
    global="hello QDao";  
    alert(global);//hello QDao  
}

相關(guān)文章

最新評論

大埔区| 周宁县| 宜宾市| 大宁县| 太仆寺旗| 铜鼓县| 原平市| 蒲城县| 杂多县| 六枝特区| 北辰区| 永仁县| 罗定市| 仙游县| 时尚| 武宣县| 建宁县| 德令哈市| 罗山县| 扎鲁特旗| 南木林县| 舟曲县| 渝北区| 四平市| 南宁市| 西盟| 桑植县| 江华| 永丰县| 竹北市| 株洲市| 高清| 龙岩市| 定结县| 梁山县| 赞皇县| 太康县| 开远市| 白山市| 溧阳市| 玉溪市|