let 與 var 的區別

2022-05-28 23:30:29 字數 944 閱讀 6343

let 與 var 的區別

a.let 不能重複宣告,但var可以

b.let會產生塊級作用域,且只在自己的作用域內生效,但var不受限制

c.變數提公升

console.log(i) //undefined

var i=10;

console.log(i) //10

console.log(i) //報錯

let i=10;

console.log(i) //10

d.let存在暫時性死域(變數只能先宣告再使用)當乙個區域存在let宣告時,這個區域就形成了乙個封閉的作用域,在let宣告前使用這個變數就會報錯,也就是只能先宣告再使用,這種語法也稱為暫時性死域。

3.const

let有的特性const都有,唯一的區別是const宣告的是乙個常量,一旦宣告就無法進行修改

console.log(i); //undefined

const i=10;

i=3; //報錯

總結:

va人可以重複申明  ;無法限制修改 ;沒有塊級作用域

let  不能重複宣告 ;變數—可以修改  ;塊級作用域(函式可以限制塊級作用域)

const 不能重複宣告 ;常量—不可以修改 ;塊級作用域

var 與 let 的區別

var與let的區別是作用域不同,var作用域在最近的函式區塊內,let作用域在最近的封閉區塊內,比函式區塊要小。如果沒有在區塊內的話,二者都是全域性的。全域性的 在函式區塊之外使用的話,二者是等價的,都是全域性的。let me go globally scoped vari able global...

let與var的區別

let為es6新增的用來宣告變數的命令,用法類似與var,那麼let和var具體是怎麼個用法以及他們之間有什麼區別呢?一.let宣告的變數只在let 塊有效 console.log a 報錯,a is not defined console.log b 2複製 用let宣告了變數a,用var宣告了變...

let與var的區別

文章中 後面的均為列印結果 1 console.log str1 小花 console.log str2 error str2 is not defined let作用域僅限於當前 塊,而var的作用域是全域性的 2 let作用域不會被提公升,而var作用域會被提公升 2相當於 3 var str1...