千鋒教育JavaScript全套視頻教程(10天學(xué)會Js,前端javascrip

let
1.塊級作用域
????// if( true ){
????//???let b = 10;
????//???console.log( b );----10
????// }
????// console.log( b );---undefined
??
?2. TDZ( 暫時(shí)性死區(qū) ) ;
變量必須先聲明再使用
3.應(yīng)用
????// let lis = document.querySelectorAll("ul li");
????// 這種情況是因?yàn)槭褂昧藇ar聲明變量, 變量只有一個(gè), 在循環(huán)結(jié)束之后變量值為循環(huán)結(jié)束之后的值!
????// 循環(huán)結(jié)束之后的值為4, 所以所有事件觸發(fā)得到的結(jié)果都為4;
????// for(var i = 0 ; i < lis.length ; i ++){
????//???lis[i].onclick = function(){
????//?????console.log( i );
????//???}
????// }
????// 我們把var關(guān)鍵字改成let之后;
????// - 因?yàn)槲覀兊膶懛▌?chuàng)建了四個(gè)函數(shù), 每個(gè)函數(shù)對應(yīng)一個(gè)dom對象;
????// - let聲明變量之后變量是局部的, 每個(gè)函數(shù)對應(yīng)一個(gè)i變量;
????// 原理:閉包 ;
????// for(let i = 0 ; i < lis.length ; i ++){
????//???lis[i].onclick = function(){
????//?????console.log( i );
????//???}
????// }
const
?// const : 常量聲明;
????// - 常量聲明關(guān)鍵字也會激活兩個(gè)機(jī)制;
????// - 額外的機(jī)制 :
????//??1. 常量不能為空;
????//??2. 常量在創(chuàng)建之后不能再賦值了;
????// 注意 : 常量我們通常用全大寫字母來進(jìn)行表述;
????const GENDER = "男";
????// GENDER = "女";
????console.log( GENDER );
解構(gòu)賦值-數(shù)組解構(gòu)
?// 數(shù)組解構(gòu)
??let[a,b]=[10,20]
??console.log(a,b);
?//應(yīng)用: 換位
??[a,b]=[b,a]
??console.log(a,b);
?// 剩余運(yùn)算
??let arr=[1,2,3,4,5,6,7,8,9,10]
??let[start,...other]=arr
??console.log(start,other);//1 (9) [2, 3, 4, 5, 6, 7, 8, 9, 10]
??// 應(yīng)用:偽數(shù)組變?yōu)檎?/p>
??var lis=document.querySelectorAll("li")
??lis=[...lis]
??console.log(lis);
解構(gòu)賦值-對象賦值
??let obj = { a: 10, b: 20 }
??// / 取出對象之中某個(gè)key對應(yīng)的value數(shù)據(jù) , 并聲明一個(gè)變量和key同名;
??let { a, b } = obj
??console.log(a, b);
??// 應(yīng)用:
??let { random } = Math;
??console.log(random, random());
??document.onclick = function (e) {
????e = e || event;
????let { clientX, clientY } = e;
????console.log(clientX, clientY);
??}
??// let {?對象之中的key名 : 新名稱 } = 對象
??let {random:r,PI:p}=Math;
??console.log(r(),p)
????let obj2 = { top : 888 }
????let { top : _top?} = obj2;
????console.log( _top );
展開運(yùn)算
?//...在等號左邊叫剩余運(yùn)算,在等號右邊叫展開運(yùn)算
??