let 與 var 的區別
a.let 不能重複宣告,但var可以
b.let會產生塊級作用域,且只在自己的作用域內生效,但var不受限制
c.變數提公升
console.log(i) //undefinedvar i=10;
console.log(i) //10
console.log(i) //報錯d.let存在暫時性死域(變數只能先宣告再使用)當乙個區域存在let宣告時,這個區域就形成了乙個封閉的作用域,在let宣告前使用這個變數就會報錯,也就是只能先宣告再使用,這種語法也稱為暫時性死域。let i=10;
console.log(i) //10
3.const
let有的特性const都有,唯一的區別是const宣告的是乙個常量,一旦宣告就無法進行修改
console.log(i); //undefinedconst 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...