箭頭函數(shù)
* 作用: 定義匿名函數(shù)
* 基本語法:
* 沒有參數(shù): () => console.log('xxxx')
* 一個(gè)參數(shù): i => i+2
* 大于一個(gè)參數(shù): (i,j) => i+j
* 函數(shù)體不用大括號: 默認(rèn)返回結(jié)果
* 函數(shù)體如果有多個(gè)語句, 需要用{}包圍,若有需要返回的內(nèi)容沛婴,需要手動返回
* 使用場景: 多用來定義回調(diào)函數(shù)
* 箭頭函數(shù)的特點(diǎn):
1吼畏、簡潔
2、箭頭函數(shù)沒有自己的this嘁灯,箭頭函數(shù)的this不是調(diào)用的時(shí)候決定的泻蚊,而是在定義的時(shí)候所處的對象就是它的this(重要)
3、擴(kuò)展理解: 箭頭函數(shù)的this看外層的是否有函數(shù)丑婿,
如果有性雄,外層函數(shù)的this就是內(nèi)部箭頭函數(shù)的this没卸,
如果沒有,則this是window秒旋。
三點(diǎn)運(yùn)算符
* 用途
1. rest(可變)參數(shù)
* 用來取代arguments 但比 arguments 靈活,只能是最后部分形參參數(shù)
function fun(...values) {
console.log(arguments);
arguments.forEach(function (item, index) {
console.log(item, index);
});
console.log(values);
values.forEach(function (item, index) {
console.log(item, index);
})
}
fun(1,2,3);
2. 擴(kuò)展運(yùn)算符
let arr1 = [1,3,5];
let arr2 = [2,...arr1,6];
arr2.push(...arr1);
形參默認(rèn)值
* 形參的默認(rèn)值----當(dāng)不傳入?yún)?shù)的時(shí)候默認(rèn)使用形參里的默認(rèn)值
function Point(x = 1,y = 2) {
this.x = x;
this.y = y;
}