js里面函數(shù)和變量的聲明被提升到函數(shù)的最頂部
變量可以先使用并思,再聲明
x = 5; // 變量 x 設置為 5
elem = document.getElementById("demo"); // 查找元素
elem.innerHTML = x; // 在元素中顯示 x
var x; // 聲明 x
但是聲明時被初始化了的變量不會被提升绒北,例如
var x = 5; // 初始化 x
elem = document.getElementById("demo"); // 查找元素
elem.innerHTML = x + " " + y; // y 是 undefined
var y = 7; // 初始化 y
js的變量提升(標識符提升)是一個“低劣”的設計,使用中會產(chǎn)生許多困擾却汉,因此es6引入let和const來解決這個問題