js中ES6新增的變量的定義


一、ES6新增的變量的定義
let const 關鍵詞定義變量
1、let定義變量:
特點:
  A、不會進行預解析,結果會報錯
  B、與forEach()中的變量類似,每次執行都會定義一個互相之間不影響的新變量
  C、不能重復定義變量名稱,一個變量名稱只能定義一次
  D、定義的變量如果在{}中,則只能在{}中被執行調用,其他位置都不可以。所以在不同{}中,定義的變量名稱是可以重復之用的
  E、在循環中最好只用let定義
2、const定義變量:
特點:
  A、在js中,const定義的變量成為常量,不能被重復賦值,數據已經定義,不能修改
  B、const也是定義在{}中,不能在{}外調用
  C、const定義的是對象、數組、函數、引用數據類型。其中只要引用數據類型的地址沒變化,就可以改變引用數據類型中的單元存儲的數據
  D、const可以預解析,結果為undefined

3、內外部調用演示示例:

//每次循環都是獨立的,互不影響i變量存儲對應的數值
var oLis = document.querySelectorAll('li');
for(let i = 0; i <= oLis.length - 1; i++){
    oLis[i].onclick = function(){
    //在內部調用是沒有問題的
    console.log(i+1)
    }
}
//如果在外面調用let定義的變量,則會報錯
console.log(i)

4、分別使用var、let、const重復賦值做對比

  A、使用var聲明變量

//使用var聲明變量
var int1 = 100;
var int1 = 200;
//結果為200,重復復置會覆蓋之前的
console.log(int1);

  B、使用let聲明變量

//使用let聲明變量
let int2 = 300;
let int2 = 400;
//因為同一個變量,兩次用let聲明,所以會報錯
console.log(int2);

  C、使用const聲明變量

//使用const聲明變量
const int3 = 500;
const int3 = 600;
//因為同一個變量,兩次用const聲明,所以會報錯
console.log(int3);

5、特殊用法:
A、let雖然不能在{}外面調用,但可以在直接調用函數

function fun2(){
    let str = '上海';
    return str;
}
//調用函數,即可輸出結果為‘上海’
console.log(fun2());

B、const雖然一旦賦值,就不能改變。但可以修改數組、對象中存儲的數據

//修改數組數據,但不修改數組
const arr = [1,2,3,4,5];
arr[0] = '北京'
//輸出[北京,2,3,4,5];
console.log(arr);
//修改對象數據,但不修改對象
const obj = {name:'張三'};
obj.name = '李四'//輸出{name:李四}
console.log(obj)

二、箭頭函數:函數的另外一種寫法
1、普通函數:

fun1 = function(){
    函數
}

2、箭頭函數:

fun2 = ()=>{}

3、特點
  A、與普通函數執行效果完全相同
  B、將函數主題function()換成了()=>
  C、如果只有一個參數,可以不寫(),例如:e=>{console.log(e);}
  D、如果只有一行代碼,可以不寫{},例如:e=>console.log(e)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM