1.es6 允許使用「箭頭」(=>)定義函式。
2.箭頭函式的特點:保持上下文this指標一致。
3.箭頭函式的寫法:
//一般函式寫法
vara
=function
(b);
//箭頭函式寫法
leta
= b => c;
4.如果箭頭函式不需要引數或需要多個引數,用乙個圓括號代表引數部分。
/*不帶參函式*/
//一般函式寫法
varf
=function()
;//箭頭函式寫法
varf=(
)=>5;
/*帶多個引數函式*/
//一般函式寫法
varsum
=function
(num1, num2)
;//箭頭函式寫法
varsum
=(num1, num2)
=> num1 + num2;
5.如果箭頭函式的**塊有多條語句,則用大括號括起來,並且使用return語句返回。
var
sum=
(num1, num2)
=>
6.箭頭函式裡面的this指向當前物件
console.
log(
this);
//指向window
let obj =
,1000);
// settimeout(function () , 1000);}}
obj.
sleep()
;
7.物件裡的函式簡寫
let stu =
,work()
}}
8.函式引數設定預設值
let
stus
=(x =
2, y =10)
=>
stus()
; console.
log(stus.length)
;//輸出:0,獲取沒有指定預設值的形參的個數值
9.箭頭函式中引數物件的解構賦值
let
fun=()
=>
fun(
);
10.箭頭函式作用域
let s1 =10;
letfun2
=(x, y = s1)
=>
fun2()
;
11.使用擴充套件運算子…獲取函式多餘引數(箭頭函式中如果寫arguments物件會報錯,因為箭頭函式上下文this保持一致 ,而window 中不含arguments)
let
fun3
=function
(...values)
fun3(1
,2,3
,4);
12.箭頭函式巢狀:找最外層this
let
fun5=(
)=>
}fun5()
;
ES6 函式擴充套件
函式在js裡是相當重要的一部分了,es6裡也新增了一些函式方法,來看一下 test hello hello world test hello kill hello kill es6增加了函式引數預設值,可以直接在宣告引數的同時賦預設值,但是也可以後面重新賦值 test2 kill 括號內有引數x時,...
ES6函式擴充套件
函式引數的預設值 在es5中,我們想給函式乙個預設值,需要這樣寫 function add x,y 在es6中 可以這樣寫 function add x,y ss add dd ddss add ss dd ssdd add dd dd我們只需要在引數上直接寫上我們想要的預設值就好了。當我們給函式乙...
ES6函式擴充套件
function fun a,b world fun hello 輸出helloworld let a aa function fun a,b a fun bb function fun arg fun 1,2,3,4,1 語法 param param 對應函式 function 沒有引數 乙個引數...