日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > jscript > JavaScript變量作用域

JavaScript變量作用域

來源:程序員人生   發布時間:2013-11-08 17:53:11 閱讀次數:3425次

變量作用域是程序中定義這個變量的區域。

先貼一段代碼,如果讀者對代碼的輸出并不感到困惑就不用往下面讀了。

/* 代碼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中處處有定義;而函數內部聲明的變量是局部(local)變量,其作用域是局部性的,只在函數體內部有定義。對于下面的輸出讀者應不會感到意外。

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

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

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

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

/* 代碼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函數作用域內都有效,因此在語句4.2(document.write(scope); )執行的時scope引用的是局部變量,而此時局部變量scope尚未定義,所以輸出”undefined”。因此一個好的編程習慣是將所有的變量聲明集中起來放在函數的開頭。

在了解了上述內容之后,讀者再看看代碼1應該不會感到困惑了。

對象的屬性變量

對象的屬性變量比較容易理解,看一下下面的代碼讀者應該不會感到疑惑。 /* 代碼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"

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 懂色av一区二区三区免费 | 国产精品久久久久免费 | 欧美一区二区在线 | 久久99精品久久久久久噜噜 | 国产精品久久国产三级国电话系列 | 亚洲国产精品99久久久久久久久 | 黄色av网站在线免费观看 | 成人激情视频在线 | 日日激情综合久久一区 | 欧美激情中文字幕 | 欧美精品导航 | 欧美亚洲天堂 | 免费在线成人av | 麻豆视频免费观看 | 日本一区免费 | 国产日产欧美一区二区 | 日韩三级久久 | 日本 欧美 国产 | 久久久国产精品 | 男女午夜视频 | 亚洲一区二区三区中文字幕 | 成人精品视频 | 成人精品一区二区三区中文字幕 | 国产伦精品一区二区三区在线 | 国产一区二区在线播放视频 | 精品美女一区二区 | 精品国产麻豆 | 亚洲一区二区三区四区五区中文 | 国产在线网站 | 国产三区视频 | 污网站在线 | 99视频一区二区 | 久久性色| 爱爱免费视频网站 | 黄视频网站在线观看 | 美女网站视频黄 | 男女在线观看视频 | 国产精品久久久久久久久久久久久久 | 岛国免费视频 | 国产一区二区精品在线 | 亚洲欧洲精品一区二区 |