var, let, const三者之間的區別

2022-05-22 23:51:18 字數 858 閱讀 6794

一   作用域

js中有全域性作用域和區域性作用域兩種,

var和let

相同點:都是用來宣告變數

不同點:

(1)var 是全域性宣告。 let是區域性宣告,只在宣告的塊中有效(塊級作用域)

console.log(a); // 1

console.log(b) // b is not defined

(2)   var宣告存在變數提公升。   let 宣告不存在變數提公升

console.log(a);       //     undefined

console.log(b) // uncaught referenceerror: cannot access 'b' before initialization 初始化之前無法訪問「b」

var a = 1;

let b = 2;

(3)    let 禁止重複宣告變數  

function fn ()

function fn ()

function fn (a)

const

const用來定義常量,使用是必須初始化(即必須賦值),同樣只能在塊級作用域裡訪問,一旦設定了就不能在修改了(不可重複宣告)

var let const三者的區別

首先三者都是用來宣告變數的 作用範圍 var沒有塊級作用域,在任何位置定義的變數在外層都可以訪問到 作用域 全域性作用域 在最外層定義的變數 區域性作用域 在 中定義的變數 特點 首先如果在函式內部,就優先在函式內部查詢變數,如果沒有就繼續向外層查詢 var定義的變數可以提公升 console.lo...

var let const三者的區別

1.let不存在變數提公升 使用let宣告的變數,不會像使用var那樣存在 變數提公升 的現象。所以使用let宣告變數,必須遵循 先宣告,後使用 的原則。否則會報錯 console.log a referenceerror 在申明之前 a報錯 let a 10 如果是var宣告的變數,則不會報錯。c...

var let const三者的區別

本文參考,csdn 菜鳥教程 老生常談的問題了 也看了網上各種解析,自己理解了一下 在了解 var let const三者的區別 之前,我們需要明白乙個東西 作用域 作用域分為全域性作用域,函式作用域。當然,這是es5的說法 es6新增了塊級作用域,塊作用域由 包括,if語句和 for語句裡面的也屬...