javascript中的var,let,const是什么?
都是用來宣告量的
var,let,const的區別?
var用來宣告變數,存在變數提升,容易在宣告變數之前呼叫,
let 用來宣告變數,但不存在變數提升,宣告變數后才可呼叫,不然報錯
const 用來宣告常量,也不存在變數的提升,宣告變數后才呼叫,不然報錯,
console.log(a);//undefined
var a=1;
//變數提升
暫時性死區
const和let都存在暫時性死區,
解決:1.不使用let和const,2.使用閉包
var a=123;
if(true){
let a=456;
console.log(a);
}
在編程中,使用let宣告變數之前,變數都不可使用,這種使用就是暫時性死區簡稱TDZ,
只有宣告變數時,才可以獲取和使用該變數,
重復宣告變數
var 可以允許重復宣告變數,
let 和const在同一個作用域下不允許重復宣告變數
var a=1;
var a=1;
console.log(a);
let b=2;
let b=2;
console.log(b)
const c=3;
const c=3;
console.log?
塊級作用域
var 不存在塊級作用域
let和const存在塊級作用域
具體塊級作用域指的是 由{},if陳述句和for陳述句中的{}也算是塊級作用域,
es5中也有作用域有全域作用域,函式作用域,沒有塊級作用域,
修改宣告的變數
var和let都可以
const宣告只宣告一個常量,宣告后就不能改變,
const一旦宣告,必須初始化,不能拖到賦值,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/227548.html
標籤:其他
上一篇:ES6+(前端面試題整合)
