當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JS 全局对象 全局变量 作用域 (改自TOM大叔博文)
生活随笔
收集整理的這篇文章主要介紹了
JS 全局对象 全局变量 作用域 (改自TOM大叔博文)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
JavaScript通過函數管理作用域。
局部變量:在函數內部聲明的變量是局部變量,只能在這個函數內部使用,函數外部不可用。
全局變量:在任何函數外面聲明的變量;或是未經聲明在函數內部直接簡單使用的變量。
全局對象:每個JavaScript環境有一個全局對象,當你在適當的地方使用this的時候可以訪問到。你創建的每一個全局變量都是這個全局對象的屬性或數組元素。在瀏覽器中,為方便起見,該全局對象有個附加屬性叫做window,此window(通常)指向該全局對象本身。
下面的代碼片段顯示了如何在瀏覽器中訪問全局對象:
<script>alert(this); // output:[object Window]
</script>
<script>
window.onload = function() {
alert(this); // output:[object Window]
};
</script>
在函數內部,當局部變量與全局變量重名時,局部變量優先級高于全局變量,但不會在內存區域中覆蓋全局變量:
<script>// 全局變量未經聲明直接使用,不推薦此用法
// var myGlobal = "hello"; 這是推薦用法
myGlobal = "hello"; // 直接輸出變量值
alert(myGlobal);
// 輸出全局對象window的屬性myGlobal
alert(window.myGlobal); // 輸出全局對象this的屬性myGlobal
alert(this.myGlobal); // 以數組方式輸出
alert(window['myGlobal']); // 以數組方式輸出
alert(this['myGlobal']);
</script>
下面的代碼片段顯示了如何在瀏覽器中創建和訪問全局變量:
<script>// 全局變量未經聲明直接使用,不推薦此用法
// var myGlobal = "hello"; 這是推薦用法
myGlobal = "hello"; // 直接輸出變量值
alert(myGlobal);
// 輸出全局對象window的屬性myGlobal
alert(window.myGlobal); // 輸出全局對象this的屬性myGlobal
alert(this.myGlobal); // 以數組方式輸出
alert(window['myGlobal']); // 以數組方式輸出
alert(this['myGlobal']);
</script>
轉載于:https://www.cnblogs.com/redasurc/archive/2013/01/11/2856458.html
總結
以上是生活随笔為你收集整理的JS 全局对象 全局变量 作用域 (改自TOM大叔博文)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle中的NULL(一、问题引入)
- 下一篇: JS控制日期显示