變量是有作用域的,也叫可見範圍,在函數內部創建的變量只能在函數內部使用,外面是無法訪問到的;但是在函數外部創建的變量,卻可以滲透到函數內部,也就是說函數中可以訪問外部的全局變量。
<script>
name = "abjun"
function sayname(){
console.log(name);
}
sayname();
</script>
我們先創建一個全局變量name="abjun",然後創建一個名爲sayname的函數,向控制檯中輸出這個變量;控制檯最終顯示的是abjun;
<script>
name = "abjun"
function sayname(){
var url = "www.baidu.com"
console.log(url);
}
sayname();
</script>
現在我們創建了一個局部變量url,接着我們在函數內調用這個局部變量url,控制檯最終顯示的就是www.baidu.com;
<script>
name = "abjun"
function sayname(){
var url = "www.baidu.com"
}
console.log(url);
sayname();
</script>
還是剛纔的例子,不過這次我們來試試在函數外調用函數內部的變量,控制檯顯示url is not defined,所以我們就知道了函數內部創建的變量只能從內部訪問,外部無法訪問。
最後我們強調,凡是用var創建的變量,全是局部變量,我們也推薦變量局部化,因爲全局變量會自動成爲窗口的屬性,過多的全局變量會污染我們的運行環境。