js變數 var let const的區別

2021-09-12 01:14:20 字數 930 閱讀 4051

js變數 var 、let 、const的區別:

1.基本區別

(1)var a = 10;

(2)a = 15;

(3)var a = 20;

是可以的,var可以重複定義重複賦值

(1)let a = 10;

(2)a = 15;

(3)let a = 20;

步驟(3)就是不可以的,let不能重複定義,但是可以重複賦值

(1)const a = 10;

(2)a = 15;

(3)const a = 15;

步驟(2)、(3)就是不可以的,const不能重複定義,不能重複賦值

2.變數提公升

首先要明確一定js**不是一行一行往下執行的

js**執行分為兩個階段:

(1)編譯(變數宣告發生在編譯階段)

(2)執行

下面兩段**:

**一:console.log(a) ; var a = 10 ;

|等價於

var a ; console.log(a) ; a = 10 ;

正確結果:undefined

**二:a = 10 ; console.log(a) ; var a;

|等價於

正確結果:10

這就是所謂的變數提公升,變數會放在所在作用域的最前面進行編譯,然後執行後面的**

3.暫時性死區

let屬於塊級變數

由於let不能進行變數提公升所以造成的暫時性死區,只要塊級作用域內存在let命令,它所宣告的變數就繫結在這個區域,不再受外部的影響。總之,在**塊內,使用let命令宣告變數之前,該變數都是不可用的,這在語法上成為暫時性死區。

js關於變數宣告 var let const 區別

關於定義 宣告 變數 es6之前定義變數是用 var 那麼var有什麼問題嗎,如果但但從變數上來說是沒有問題的,var是variable的縮寫,英文翻譯是變數。var問題 1.汙染全域性 之前定義迴圈的方式 for var i 0 i 10 i alert i 有一天突然運營檔案,這個時候彈出的是 ...

var let const宣告變數的區別

說是特點,不如說是缺點 var在全域性宣告的變數會自動掛載到頂層物件window上 var宣告變數,存在變數提公升的現象 console.log a undefined var a 1 console.log a 1 複製 以上 可以這樣理解 var a console.log a a 1 cons...

js中var let const的區別

主要內容是 js中三種定義變數的方式const,var,let的區別。var定義的變數可以修改,如果不初始化會輸出undefined,不會報錯。var a 1 var a 不會報錯 console.log 函式外var定義a a 可以輸出a 1 function change change cons...