JS中var和let以及const的區別

2021-09-28 10:42:18 字數 990 閱讀 9475

這篇文章主要介紹了let與var宣告變數區別,文中通過示例**介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值。

主要**let和var的作用域

es6 新增了let命令,用來宣告區域性變數,所宣告的變數,只在let命令所在的**塊內有效

1.es6可以用let定義塊級作用域變數

functionf1(

) console.

log(

"a:"

+a)//a:5

console.

log(

"b:"

+b)//uncaught syntaxerror: unexpected identifier}f1();

結果表明:在es6之前只有全域性作用域和函式作用域,在es6中新增了塊級作用域,用{}花括號表示。var 宣告的變數a在花括號外面仍然是會起作用的,但是let宣告的變數b只有在花括號裡面才會起作用的,在塊級作用域內。

2.const的使用

<

!doctype html>

"en"

>

"utf-8"

>

"viewport" content=

"width=device-width, initial-scale=1.0"

>

document<

/title>

<

/head>

const a =

'a';

a='b';

<

/script>

<

/body>

<

/html>

可見 用const宣告的變數不可以修改否則會報錯(let可以修改)

var和let 以及js作用域問題

今天學習es6 的時候發現了var 和 let 之間的不同。var a for var i 0 i 10 i a 6 6 var設定的是全域性變數。陣列中儲存的是指向i的記憶體位址,所以在迴圈中i一直在變化,最後在10就不動了。let設定的是區域性變數,宣告的變數僅在塊級作用域內有效。變數i只在本輪...

js中let和var定義變數的區別

let變數之前沒見過,剛遇到,探 竟。以下 function function function function console.log vartest 輸出 vartest changed.內部 中宣告的vartest變數覆蓋外部的lettest宣告 console.log lettest 輸出...

js中let和var定義變數的區別

也就是說,在函式內宣告了var,整個函式內都是有效的,比如說在迴圈內定義了乙個var變數,實際上其在迴圈以外也是可以訪問的,而let由於是塊作用域,所以如果在塊作用域內 比如說迴圈內 定義的變數,在其外面是不可被訪問的,所以let用在for let i i n i 是一種很推薦的寫法。也就是說,le...