中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

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頁,轉載需保留來源!

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

主站蜘蛛池模板: 羞羞网站免费 | 久久国产99 | 免费国产一区 | 日韩在线免费视频 | 可以在线看的黄色网址 | 欧美日韩一 | 逼逼视频 | 成人网av | 爱综合| 盗摄精品av一区二区三区 | 欧洲一区视频 | 91免费观看国产 | 欧美xxxx网站 | 日本超碰| 国产一区二区在线播放 | 精品一区二区三区在线观看国产 | 成人18亚洲xxoo | 黄色免费av | 黄色一级电影免费观看 | 午夜精品久久久久久久久久久久 | 国产在线观看免费 | 欧美男人天堂 | 欧美亚洲视频在线观看 | 欧美aaa一级片 | 国产成人精品一区二区三区在线 | 日韩欧美在线不卡 | 欧美性生活一区二区三区 | 91国内在线观看 | 欧美在线一区二区三区 | 久草网址 | 性生生活大片免费看视频 | 国产成人高清成人av片在线看 | 久久99精品久久久久婷婷 | 久久精品视频在线播放 | 天天干天天想 | 伊人久久在线 | 国产高清不卡 | 91精品久久久久久久久99蜜臂 | 久久精品免费观看 | 欧美精品在线免费 | 91精品一区 |