四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

JavaScript 變量作用域及閉包第1/2頁

實例一:
復制代碼 代碼如下:
<script type="text/Javascript">
var i = 1;
// 彈出內容為 1 true 的提示框
alert(window.i + ' ' + (window.i == i));
</script>

分析:
在全局定義的變量其實就是 window 對象的屬性。
上面的例子可以看到,我們定義全局變量的同時,window 對象會產生一個相應的屬性,如何讓我們的代碼避免產生這個屬性呢,看下面的例子。
實例二:
復制代碼 代碼如下:
<script type="text/Javascript">
var document = 1;
window.onload = function(){
alert(document);
}
// 彈出內容為 1 的提示框
alert(window.document);
</script>

這種情況是我們不想看到的,我們可以這么做:
復制代碼 代碼如下:
<script type="text/Javascript">
function test(){
var document = 1;
window.onload = function(){
alert(document);
}
}
test();
// 彈出內容為 [object] 的提示框
alert(window.document);
</script>

為了使代碼更加簡潔,我們可以這樣:
復制代碼 代碼如下:
<script type="text/Javascript">
(function(){
var document = 1;
window.onload = function(){
alert(document);
}
})();
// 彈出內容為 [object] 的提示框
alert(window.document);
</script>

分析:
這種運行匿名方法的形式,在 JavaScript 的主流框架中經常見到,這樣做可以避免產生不必要的 window 對象的屬性,減少沖突的可能。
實例三:
復制代碼 代碼如下:
<script type="text/Javascript">
(function(){
if('1' == '1'){
var i = 1;
}
// 彈出內容為 1 的提示框
alert(i);
})();
</script>

分析:
變量的作用域是整個函數,不是{}塊。
實例四:
復制代碼 代碼如下:
<script type="text/Javascript">
var i = 1;
// 彈出內容為 1 的提示框
alert(i);
var i = 2;
// 彈出內容為 2 的提示框
alert(i);
</script>

分析:
一個變量可以被重新定義,這個看起來有些怪,因為在很多其他語言里這樣是行不通的。
實例五:
復制代碼 代碼如下:
<script type="text/Javascript">
function test(){
i = 1;
}
test();
// 彈出內容為 1 的提示框
alert(window.i);
</script>

分析:
如果對一個沒有初始化的變量進行賦值操作,那么這個變量會作為全局變量。

JavaScript技術JavaScript 變量作用域及閉包第1/2頁,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 报团云南旅游价格| 男生的帅气头像| 成毅最新电视剧赴山海免费看| 适合小情侣晚上看的电影| 俺去也电影网| barazzares 女演员| 江南style歌词翻译成中文| 可爱的萝拉| 六年级五单元作文| 欧美一级毛片免费看| 正在直播乒乓赛事| 4人免费剧本及答案| 戚薇床戏| 茶山情歌伴奏| cgtn news在线直播| 金珠玛米赞二胡曲简谱| 林栋浦| h罩杯美女| 妻子的秘密在线| 韩国电影两个小姨子| 车辆年检新规几年一审| 仙剑奇侠传三图片| 巨神战击队| 男人天堂视频| 刚满18岁| 强好案电影| 耄耋老太国产| 潜伏电视剧在线观看免费完整版高清 | 血色天劫| 电视剧《反击》主要演员| 尹雪喜演的全部电影| 孕早期不能吃什么| 双重欲望| 韩国一对一电影| 大学生搜| 尘封十三载全集免费观看| 猎仇者电影| 来不及说我爱你免费全集在线观看| 《完美无瑕》莫妮卡主演电影| 部队飞行安全大讨论心得体会| 中国宇航员遇难|