var的特性
- 可以被重新定義(redefined)
- 可以被更新(updated)
- 若存在於函式內(function),就是函式變數(function scope),只能在函式內部被存取、修改。
- 若沒再函式內,會變成全域變數(global scope),不論在函式內或是外面都可以被存取,修改。
redefined and updated
var width=100;
console.log(width);//100
width=200;
console.log(width);//200
//可被修改
function scope
function setWidth() {
var width = 100;
console.log(width);//100
}
setWidth();
console.log(width);//nothing
//width只能在setWidth裡面作用
global scope
var width;
function setWidth() {
width = 100;
console.log(width);//100
}
setWidth();
console.log(width);//100
//width 在任何地方都能被修改或存取
let points = 50;
var winner = false;
if(points > 40) {
var winner = true
console.log(winner);//true
}
console.log(winner);//true
//因為if不是function,所以winner變成全域變數
//能在任何地方被修改與存取