javascript中的變數與作用域
阿新 • • 發佈:2018-12-21
在說變數作用域之前先了解以下幾個概念
塊級作用域:在其他語言中,任何一對花括號內的語句都屬於一個塊,在這個塊中定義的所有變數在程式碼外部都是不可見的,但是在js中,外部可以訪問
{
var age=12;
}
console.log(age); //控制檯輸出12
全域性變數:定義在script標籤中或者不屬於某個函式的變數,在任何地方都可以訪問的變數
var name="javascript"; //在全域性中使用變數name console.log(name) //控制檯輸出javascript //在函式中使用變數name function show (){ return name; } console.log(show()); //控制檯輸出javascript
區域性變數:僅僅在當前作用域可以訪問,在其他地方無法訪問
function add(a,b){
var sex="nan";
var sum=0;
sum=a+b;
return sum;
}
console.log(add(4,5)); //9
// console.log(sex);//顯示sex not defined
js中全域性和區域性的概念僅僅體現在函式中,事實上js中沒有嚴格的區域性和全域性的概念
- 注意事項:
- 函式內部可以訪問到該函式所屬的外部作用域的變數(作用域鏈)
- 不使用var宣告的變數是全域性變數,不推薦使用
- 變數退出作用域後會銷燬,全域性變數關閉網頁或者瀏覽器後才會銷燬