//變量提升
//let const
//塊級作用域:在代碼塊內(nèi)部聲明的變量或函數(shù),具在代碼塊內(nèi)部課件,超出該代碼則無法訪問
if(true){//花括號就是塊作用域
//var a=10
let a=10
console.log(a)//10
}
console.log(a)
//const let一樣
//優(yōu)勢:使用塊級作用域可以避免變量名沖突和污染全局命名空間,提高代碼可讀性和可維護性
/* ***************************************************************************** */
//箭頭函數(shù)
//無參數(shù)的箭頭函數(shù)
const fun1=()=>{
}
//一個函數(shù)
const fun2=a=>{
}
//多個函數(shù)
const fun3=(a,b)=>{
}
//箭頭函數(shù)返回值
const fun4=a=>a*2
//函數(shù)內(nèi)只有一條語句時,花括號可以省略,并且返回return
/* ************************************************************************************ */
//函數(shù)參數(shù)默認值
//需求:計算乘法,兩數(shù)相乘,如果用戶傳入一個參數(shù)的話
//方法一:
/* const fun5=(a,b)=>{
if(!b){
return a*1
}
return a*b
} */
//方法二
/* const fun5=(a,b)=>{
const c=b||1
return a*c
} */
//方法三
const fun5=(a,b=1)=>{
return a*b
}
console.log(fun5(2))
//函數(shù)的拓展
//要把輸出的函數(shù)求和
const fun6=(a,b,...numbers)=>{//剩余參數(shù) 用于處理可變長度的參數(shù)
return numbers.reduce((value,preResult)=>preResult+value,0)
}
console.log(fun6(1,2,3,4,5))
console.log(fun(...[1,2,3,4,5]))//將數(shù)組展開為獨立元素
/* **************************************************************** */
//數(shù)組解構(gòu)賦值
const numbers=[1,2,3,4,5]
/* const a=number[0]
const b=numbers[1] */
const [a,b]=numbers //a=1b=2按照順序排
const [c,d,...rest]=numbers //rest==[3,4,5]
/* ************************************************************** */
//對象的解構(gòu)賦值
const person={
name:'John',
age:30,
city:'zibo'
}
const {city,name,age}=person
console.log(name,age,city)
//指定默認值
const {gender='unknow'}=person
console.log(gender)
浙公網(wǎng)安備 33010602011771號