ES6學習之路1 變數的宣告

2021-09-10 02:22:49 字數 2489 閱讀 4690

它是variable的簡寫,可以理解成變數的意思。在es6之前,js宣告變數都是採用的var。

例項1:

var str = "hello world!";

console.log(str);//hello world!

例項2:

var a=

2;if(true)

console.

log(a);//3

例項3:

for(var i=0;i<10;i++)

console.log('迴圈體外:'+i);//迴圈體外:10

從例項3中可以看出,var在es6裡是用來宣告全域性變數

它是『讓』,var在es6裡是用來宣告區域性變數

例項1:

var a=

2;if(true)

console.

log(a);//2

例項2:

if(true)

console.log(a);

//報錯:uncaught referenceerror:

a is not defined

例項3:

for(let i=0;i<10;i++)

console.log('迴圈體外:'+i);

//報錯:uncaught referenceerror: i is not defined

通過兩個例項3的對比,我們可以很清楚的明白,var宣告的是全域性變數,而let宣告的是區域性變數

作用:

通過上邊的例項,我們可以看出,乙個let變數我們在不同的作用域宣告的時候,不會被影響。而var則會出現衝突。

例項1:

for(let i=0;i<10;i++)

}

例項2:

for(var i=0;i<10;i++)

}

從上例項2就可以看出,var的宣告會影響其他的相同變數,而let宣告只會在各自的作用域宣告,不會影響其他作用域的同名變數,這就導致以後我們在不同的作用域不用為宣告變數而苦惱!let相當於解放更多的變數供我們使用!

它是常量的意思,就是宣告開始,就對該常量賦值,後邊的邏輯操作時只能使用,不能改變的值。

例項1:

const a;

a=3;

console.log(a);

//報錯:uncaught syntaxerror: missing initializer in

const declaration

例項2:

const a=2

;var a=3

;console.log(a);

//報錯:uncaught syntaxerror: identifier 'a' has already been declared

例項3:

const a=2;

console.log(a);//2

作用:

當我們需要進行最大安全整數比較的時候,我們就需要用乙個常量將最大安全整數(number.max_safe_integer)宣告乙個常量,後期在使用的時候不會害怕該值被改變。還有圓周率這些常量在用時的儲存。

總結:

通過上邊的例項,可以很清晰的明白:

1.var宣告的是全域性變數,當需要乙個變數在全域性多個地方使用的時候,就採用var,例如(輪播的index等);

2.let宣告的是區域性變數,當需要乙個變數只是在某乙個作用域使用,就採用let,例如(for迴圈的index等);

3.const 宣告的是常量,宣告就進行賦值,以後不可改變,只能進行使用!例如(圓周率等)

我的部落格,歡迎交流!

我的csdn部落格,歡迎交流!

前端筆記專欄

前端筆記列表

遊戲列表

posted @

2017-11-28 17:42

newman·li 閱讀(

...)

編輯收藏

Es6之變數宣告

es6變數宣告let 和 canst,let 所宣告的變數具有塊級作用域,且宣告的變數不會前置,而const宣告的是不變了常量 let test test let 所宣告的變數只在塊級作用域內有效,而var就不同 for var i 1 i 5 i console.log str 輸出hello.c...

ES6 變數宣告方式

var,function,let,const,import,class1.let只在所在的 塊中有效 2.以前我們需要用iife解決的問題 3.不存在變數宣告提公升 4.暫時性死區tdz 1.let只在所在的 塊中有效 2.以前我們需要用iife解決的問題 3.不存在變數宣告提公升 console....

ES6的變數宣告方式

保留了var和function。新增加了let const class和import。而且,let const class宣告的全域性變數再也不會和全域性物件的屬性掛鉤了。let 1 let只在所在的 塊中有效 for var i 0 i 10 i console.log i 10 for let ...