1、let和const:最基礎也很容易理解的,let是 聲明一個變數,const是聲明一個常量。 具體細節看如下實例代碼 2、解構賦值,簡單來說就是將等號兩邊寫成一樣的模式,然後進行對應的賦值。如下實例 ...
1、let和const:最基礎也很容易理解的,let是 聲明一個變數,const是聲明一個常量。
具體細節看如下實例代碼
{ let a=1; console.log(a) } // console.log(a) //let 只作用於當前代碼塊,也就是{}之內,所以這裡會報錯,而且不會預解析,下麵聲明是沒用的 let a=2 //let 聲明一個變數 //const 聲明一個常量(不會變的) // let a=1; // var a=1; // let a=1//這兩種情況會報錯,不允許重覆性聲明變數 let f=7; function cons() { f=10; //暫時性死區 會報錯 console.log(f) let f=10 } // cons() //let在for迴圈中的好處直接列印出索引,不用index()方法 var btn=document.getElementsByClassName('btn'); console.log(btn) for(let i=0;i<btn.length;i++){ btn[i].onclick=function () { console.log(i) } } //let在for迴圈中,在迴圈語句裡面是父作用域,在迴圈內是子作用域 for(let i=0;i<6;i++){ let i=10; console.log(i) //列印出來是10;上面的是父作用域,裡面的事子作用域 } /* * const同樣有let 的上面特點,1 聲明的常量只能在其代碼塊內有效 2 聲明的變數不會被提升(預解析)3 不能聲明以及聲明過的常量, * 除了這些還有 1 聲明的時候必須賦值2 如果儲存的事個簡單數據類型時候不能改變其值,如果是對象,那麼引用不可以改變,只有裡面的數據變化是沒關係的 * */
2、解構賦值,簡單來說就是將等號兩邊寫成一樣的模式,然後進行對應的賦值。如下實例
//1 數組的解構賦值 let [a,b,c]=[1,2,3] console.log(a,b,c) //1 2 3 let [e,[[f],g]]=[1,[[2],3]] console.log(e,f,g) //1 2 3 let [x]=[] console.log(x)//相當於let x; undefined let [y=1]=[] console.log(y)//1 可以給預設值 //2 對象的解構賦值,原來就是根據key值,查找賦值,因為對象沒有順序 let {h,i}={h:'aaa',i:'bbb'} console.log(h,i) //aaa bbb let {j:k}={j:2222} console.log(k) //2222 //3 基本類型的解構賦值,用的很少,可忽略 let [s,m,n]='123' console.log(s,m,n) //1 2 3