局部變量:函數體內定義的變量就是局部變量
全局變量: 函數體外定義的變量就是全局變量,當然如果是函數內部未使用var聲明的變量也是全局變量
塊級變量: 變量只能在聲明的區域或者函數內部使用
Tips:
var聲明的變量,如果全局變量和局部變量同名時,則會造成變量提升,函數內部如果在同名變量未聲明之前使用了這個變量,而后面又聲明這個跟全局變量一樣的變量,則這個變量會提升到使用之前的位置被聲明,后面變成了賦值
var qj = '劉德華'
function face () {
console.log(qj) => undefined
var qj = '馬德華'
console.log(qj) => 馬德華
}
===> 其實變量提升,解析為:
function face () {
var qj
console.log(qj) => 變量從后面提升到使用之前被聲明,但是沒有任何值,所以是undefined
qj = '馬德華'
console.log(qj) => 變量被賦值,所以是馬德華
}