es6中的let 和 var 的區別

2021-08-14 04:24:04 字數 678 閱讀 1931

好久沒有更新部落格了,

今天公司裡乙個小夥伴,偶然間提到了es6中的let 和 var 的區別,給她解釋了半天,今天就但拉出來寫乙個總結,也算給我的小夥伴整理一下。

在es6中var 和 let 用法都一樣,為什麼我們還要用let呢?

下面偶奏來說一說他們的區別;

舉兩個栗子大家就明白了:

用var 宣告的變數

if(true)  

console.log(a);//1 可以訪問到  

用let宣告的變數

if(true)  

console.log(a);// 不可以

上面的這兩個栗子,我們可以看出:

用var 宣告的a 在包裹它的作用域空間外(**塊外)可以訪問到;

而let 宣告的a 在包裹它的作用域空間外(**塊外)不可以訪問到;

還有就是let不可以同名,而var 可以同名(只不過前乙個宣告的會被覆蓋);

舉栗子:

var a = 1;  

var a =2 ;  

console.log(a);//2  

let b = 1;  

let b = 2;  

console.log(b);//(報錯鳥)caught syntaxerror: identifier 'a' has already been declared

ES6中的let和var區別

js函式中宣告變數有多種方式 var,let,this 見如下 段 var xx function test 那麼,這三種方式有什麼區別呢?區別在於作用域不同。let 宣告的變數作用域為某個 塊。而 塊的長度可大可小。當按宣告2的方式宣告乙個變數時,該變數的作用範圍於為整個function語句。當按...

es6中 var 和 let的區別

function fn console.log a 輸出10 fn function fn console.log a 報錯,a未定義 fn function fn fn function fn fn 區別1和區別2 社群裡合起來的叫法就是 var會引起變數提公升,let不會!這個就不舉例了,自己去...

ES6中let和var的區別

var 宣告的變數往往會越域 let 宣告的變數有嚴格區域性作用域 console.log a 1 console.log b uncaught referenceerror b is not defined var可以宣告多次 let只能在乙個作用域中宣告一次 var a 1 var a 2 le...