ES6 函式的擴充套件

2022-08-23 22:45:19 字數 1957 閱讀 1692

//

1. 函式預設引數

function test(={})

test();//

10 20

test();//

0 20

test({});//

0 0test();//

0 0//

2.函式引數預設已經定義,不能在使用let,const宣告

function test(a)

test(

1);

//

***************=箭頭函式*************************===

//1. (引數)=> return的值

let test=(a,b)=>a+b;

console.log(test(

1,2));//3//

2. (引數)=>

let test=(a=0,b=0)=>

test(

3,4);//

7test();//0//

3.this問題:定義時所在的物件,而不是使用時所在的物件。

var id = 21

;function foo() , 100);}

foo.call();//

42//

箭頭函式裡面沒有自己的this,而是引用外層的this。

function foo()

return () =>;

};};

}var f = foo.call();

var t1 = f.call()()(); //

1var t2 = f().call()(); //

1var t3 = f()().call();//1//

4.箭頭函式沒有arguments,用 '...'

let test=()=>

test(

1,2,3

);let test1=(...a)=>

test1(

1,2,3

);//

5.箭頭函式不能成為建構函式

let test=()=>

let test=new test();//

test is not a constructor

//

***************=擴充套件運算子(rest運算子)********************=

//1.收起 1,2,3,4,5 -> ...a -> [1, 2, 3, 4, 5]

function test(...a)

test(

1,2,3,4,5

);//

2.展開 ...[1,2,3] -> 1 2 3

function test1(a,b,c)

test1(...[

1,2,3

]);//

3.剩餘運算子

function test2(a,b,...c)

test2(

1,2,3,4,5

);//

4.陣列複製,不影響原陣列

let arr=[1,2,3,4,5

];let arr1=[...arr];

console.log(arr==arr1);//

false

let arr2=array.from(arr);//

從乙個類似陣列或可迭代物件中建立乙個新的陣列例項。

console.log(arr==arr2);//

false

引數代替 arguments

function test()

console.log(test(

4,2,1,3)); //

[1,2,3,4]

let test2=(...a)=>

console.log(test2(

4,2,1,3)); //

[1,2,3,4]

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 沒有引數 乙個引數...