這篇文章主要介紹了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...