var let const 有什么區(qū)別
var
var聲明的變量可進(jìn)行變量提升,let和const不會
var可以重復(fù)聲明
var在非函數(shù)作用域中定義是掛在到window上的
let
let聲明的變量只在局部起作用
let防止變量污染
不可在聲明
const
具有l(wèi)et的所有特征
不可被改變
如果使用const聲明的是對象的話,是可以修改對象里面的值的
箭頭函數(shù)和普通函數(shù)的區(qū)別?箭頭函數(shù)可以當(dāng)做構(gòu)造函數(shù) new 嗎?
箭頭函數(shù)是普通函數(shù)的簡寫谊却,但是它不具備很多普通函數(shù)的特性
第一點搪搏,this指向問題灰追,箭頭函數(shù)的this指向它定義時所在的對象架诞,而不是調(diào)用時所在的對象
不會進(jìn)行函數(shù)提升
沒有arguments對象拟淮,不能使用arguments,如果要獲取參數(shù)的話可以使用rest運算符
沒有yield屬性侈贷,不能作為生成器Generator使用
不能new
沒有自己的this惩歉,不能調(diào)用call和apply
沒有prototype,new關(guān)鍵字內(nèi)部需要把新對象的proto指向函數(shù)的prototype