var 與 const let的區別

2021-10-04 01:44:12 字數 1262 閱讀 1979

var a = 100;

console.log(a,window.a); // 100 100

let b = 10;

console.log(b,window.b); // 10 undefined

const c = 1;

console.log(c,window.c); // 1 undefined

console.log(a); // undefined  ==》a已宣告還沒賦值,預設得到undefined值

var a = 100;

console.log(b); // 報錯:b is not defined  ===> 找不到b這個變數

let b = 10;

console.log(c); // 報錯:c is not defined ===> 找不到c這個變數

const c = 10;

其實怎麼說呢?

if(1)

console.log(a); // 100

console.log(b) // 報錯:b is not defined ===> 找不到b這個變數

if(1)

console.log(a); // 100

console.log(c) // 報錯:c is not defined ===> 找不到c這個變數

var a = 100;

if(1)

var a = 100;

console.log(a); // 100

var a = 10;

console.log(a); // 10

let a = 100;

let a = 10;

// 控制台報錯:identifier 'a' has already been declared ===> 識別符號a已經被宣告了。

當定義const的變數時候,如果值是值變數,我們不能重新賦值;如果值是引用型別的,我們可以改變其屬性。

const a = 100; 

const list = ;

list[0] = 10;

console.log(list);  // [10]

const obj = ;

obj.a = 10000;

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宣告了變...

var與let const的區別

一 var宣告的變數會掛載在window上,而let和const宣告的變數不會 var a 100 console.log a,window.a 100 100 let b 10 console.log b,window.b 10 undefined const c 1 console.log c,...