let具有作用域的**示例
lang
="en"
>
>
charset
="utf-8"
>
name
="viewport"
content
="width=device-width, initial-scale=1.0"
>
>
documenttitle
>
head
>
>
>
//var 宣告的變數往往會越域
//let宣告的變數有嚴格的作用域
console.
log(a)
;
console.
log(b)
;script
>
body
>
html
>
控制台列印如下, 可以看到1 成功列印, 而b說未定義, 說明了let是有嚴格 的作用域的.
let只能宣告一次示例
此 **能正常執行, var可以宣告多次, 以最後一次為準
//var可以宣告同一變數多次
//let 只能宣告一次
var m =1;
var m =2;
let n=3;
console.
log(m)
; console.
log(n)
;
let n=3;
let n=2;
console.
log(n)
;
報錯如下, n已經被定義. 說明let定義的變數, 只能宣告一次.
//var 會變數提公升
//let 不存在變數提公升
console.
log(x)
;var x =10;
console.
log(y)
;let y =
20;
執行結果如下.
關於js的變數提公升, 可以看看下面這篇文章
變數提公升 就是宣告到乙個變數所在作用域的頂端去執行, 但只是宣告,未賦值
const 宣告變數後 ,不允許改變. 並且一旦宣告後,必須初始化, 否則報錯.
const a =1;
a =3;
報錯如下,
如下的**也報錯, 未初始化.
ES6 let,const 用法雜談
es6 ecma 標準 發布於2015年6月 作用域 var 全域性 let 函式作用域 也叫塊級作用域 用 表示 let使用注意點 1.沒有預解析,不存在變數提公升。例 如果console.log a 在我們定義的let a 之前的話就報錯,而var 定義的則是undefined.console....
ES6 let const與作用域
一 let1.1 學習let,首先我們來看一段 function test console.log i 3 test 複製 這組 中,我們使用的是var來宣告變數來迴圈,所以在迴圈內列印出1,2。在迴圈外列印出3,這個應該都是可以理解的。下面來看下let的區別 function test conso...
es6 let const和var最完美的解釋
一壺茶 一首歌 勾起了我想寫文章的熱情,今天就談一談es6裡變數宣告的方式的區別吧 首先宣告變數的常用方式有var let const三種 結合var來解釋一下let cosnt 1.使用let const宣告的變數只在塊級作用與有效 var 不是 2.使用let const 宣告的變數在當前作用域...