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

JavaScript 變量作用域分析

 更新時間:2011年07月04日 23:07:35   作者:  
變量作用域是程序中定義這個變量的區(qū)域。先貼一段代碼,如果讀者對代碼的輸出并不感到困惑就不用往下面讀了。
復(fù)制代碼 代碼如下:

/* 代碼1 */
var scope = "global ";
function checkScope() {
var scope = "local ";
function childCheck() {
var scope = "childLocal ";
document.write(scope);
}
function childUndefined() {
document.write(scope);
var scope;
}
function childOverride() {
scope = "childOverride ";
document.write(scope);
}
document.write(scope); //輸出"local"
childCheck(); //輸出"childLocal"
childUndefined(); //輸出"undefined"
childOverride(); //輸出"childOverride"
document.write(scope); //輸出"childOverride"
}
checkScope(); //輸出"local childLocal undefinedchildOverride childOverride"
document.write(scope); //輸出"global "

全局作用域與局部作用域
全局(global)變量的作用域是全局的,在Javascript中處處有定義;而函數(shù)內(nèi)部聲明的變量是局部(local)變量,其作用域是局部性的,只在函數(shù)體內(nèi)部有定義。對于下面的輸出讀者應(yīng)不會感到意外。
復(fù)制代碼 代碼如下:

/* 代碼2 */
var scope = "global";
function checkScope() {
var scope = "local";
document.write(scope);
}
checkScope(); //輸出"local"
document.write(scope); //輸出"global"

全局變量作用域中使用變量可以不用var語句,但在聲明局部變量是一定要使用var語句,否則會視為對全局變量的引用。看下面代碼:
復(fù)制代碼 代碼如下:

/* 代碼3 */
var scope = "global";
function checkScope() {
scope = "local";
document.write(scope);
}
checkScope(); //輸出"local"
document.write(scope); //輸出"local"

沒有塊作用域
Javascript沒有塊級作用域,函數(shù)中聲明的變量在整個函數(shù)中都是有定義的。對于下面的代碼對于生疏的讀者可能頗感意外:
復(fù)制代碼 代碼如下:

/* 代碼4 */
var scope = "global";
function checkScope() {
document.write(scope); //語句4.1
var scope = "local"; //語句4.2
document.write(scope);
}
checkScope(); //輸出"undefinedlocal"

由于語句4.1(var scope = "local";)聲明的變量在整個checkScope函數(shù)作用域內(nèi)都有效,因此在語句4.2(document.write(scope); )執(zhí)行的時scope引用的是局部變量,而此時局部變量scope尚未定義,所以輸出”undefined”。因此一個好的編程習(xí)慣是將所有的變量聲明集中起來放在函數(shù)的開頭。

在了解了上述內(nèi)容之后,讀者再看看代碼1應(yīng)該不會感到困惑了。

對象的屬性變量
對象的屬性變量比較容易理解,看一下下面的代碼讀者應(yīng)該不會感到疑惑。
復(fù)制代碼 代碼如下:

/* 代碼5 */
var scope = "global ";
var obj = new Object();
obj.scope = "object ";
obj.checkScope = function () {
var scope = "loacl ";
document.write(scope); //輸出"loacl"
document.write(this.scope); //輸出"object"
document.write(window.scope); //輸出"global"
}
obj.checkScope(); //輸出"loacl object global"

相關(guān)文章

  • 理解Javascript_12_執(zhí)行模型淺析

    理解Javascript_12_執(zhí)行模型淺析

    大家有沒有想過,一段javascript腳本從載入瀏覽器到顯示執(zhí)行都經(jīng)過了哪些流程,其執(zhí)行次序又是如何。本篇博文將引出'javascript執(zhí)行模型'的概念,并帶領(lǐng)大家理解javascript在執(zhí)行時的處理機(jī)制。
    2010-10-10
  • 使用indexOf等在JavaScript的數(shù)組中進(jìn)行元素查找和替換

    使用indexOf等在JavaScript的數(shù)組中進(jìn)行元素查找和替換

    使用slice、replace、indexOf等等在JavaScript的數(shù)組中進(jìn)行元素的查找和替換,感興趣的朋友可以學(xué)習(xí)下
    2013-09-09
  • JS獲取input[file]的值并顯示在頁面的實現(xiàn)方法

    JS獲取input[file]的值并顯示在頁面的實現(xiàn)方法

    下面小編就為大家分享一篇JS獲取input[file]的值并顯示在頁面的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Javascript 實現(xiàn)廣告后加載 可加載百度谷歌聯(lián)盟廣告

    Javascript 實現(xiàn)廣告后加載 可加載百度谷歌聯(lián)盟廣告

    本文主要介紹一種新的廣告后加載的方式,支持自定義HTML廣告、百度聯(lián)盟廣告和谷歌聯(lián)盟廣告。這種方式在頁面加載完成后執(zhí)行,不影響內(nèi)容的顯示,對用戶更加友好。
    2016-05-05
  • IE6下CSS圖片緩存問題解決方法

    IE6下CSS圖片緩存問題解決方法

    ie6下如果用css圖片平鋪,會出現(xiàn)cpu短暫100%的情況,主要原因在于,ie6會重復(fù)下載圖片。
    2010-12-12
  • Javascript代碼實現(xiàn)仿實例化類

    Javascript代碼實現(xiàn)仿實例化類

    這篇文章主要介紹了Javascript代碼實現(xiàn)仿實例化類的相關(guān)資料并附上示例,非常不錯的文章,需要的朋友可以參考下
    2015-04-04
  • JS也玩OO繼承

    JS也玩OO繼承

    JS也玩OO繼承...
    2007-01-01
  • 在 JavaScript 中保留小數(shù)點后兩位的方法

    在 JavaScript 中保留小數(shù)點后兩位的方法

    在 JavaScript 中,有多種方法可以保留小數(shù)點后兩位,本文給大家分享比較常用的方法,文末給大家介紹了實現(xiàn)數(shù)據(jù)格式化保留兩位小數(shù)的多種方法,感興趣的朋友一起看看吧
    2023-10-10
  • JavaScript面試必考之實現(xiàn)手寫Promise

    JavaScript面試必考之實現(xiàn)手寫Promise

    Promise作為面試必考題,Promise的手寫也是面試官必問的問題,所以對于Promise我們一定要了解透徹。本文就為大家整理了手寫Promise的示例代碼,需要的可以參考一下
    2022-12-12
  • 微信端口及協(xié)議分析(java、C版)

    微信端口及協(xié)議分析(java、C版)

    最近接了個項目,項目需求是:手機(jī)通過WIFI連接上網(wǎng),而老板要求,員工使用手機(jī)只能上微信,而不能上其他網(wǎng)頁和看在線視頻。下面通過本文給大家分享微信端口及協(xié)議分析,感興趣的朋友一起看看吧
    2016-11-11

最新評論

萝北县| 仁寿县| 来宾市| 潼南县| 建德市| 茌平县| 泌阳县| 鹿邑县| 雅安市| 垦利县| 牙克石市| 淮阳县| 长治市| 烟台市| 永善县| 尉犁县| 黎城县| 洪泽县| 招远市| 博爱县| 新昌县| 泸水县| 朝阳县| 柳河县| 金溪县| 双江| 新余市| 麻江县| 贺兰县| 广宗县| 迭部县| 武冈市| 体育| 容城县| 江陵县| 高清| 那曲县| 平阴县| 宁津县| 新乡县| 丰城市|