1.函數能夠有默認值 function demo( a = 10,b ){}javascript
2.函數能夠使用解構 java
function demo( { a = 0,b = 0 } = {} ){json
}數組
3.函數參數最後能夠多一個逗號函數
function demo(a,b,c,){this
}spa
坑:code
1.與for等父子域不一樣對象
function(a){token
let a=10;
}
會報錯,由於a已經被定義
2.
function move({x, y} = { x: 0, y: 0 })
{ return [x, y]; }
move({x: 3, y: 8});
// [3, 8]
move({x: 3}); // [3, undefined]
move({}); // [undefined, undefined]
move(); // [0, 0]
undefined才
會觸發函數參數的默認
簡略形式:(參數)=>(return 的數據)
完整形式:
(參數)=>{
語句
return數據
}
做用:解決了this對象,當前this指向最頂層的申明對象
eg:
let json = {
name:"zjj",
demo:function(){
setTimeout(()=>{
alert(this.name);//這裏的this再也不是當前的運行時對象,而是最頂層的json
}),200
}
}
坑
1.箭頭函數裏沒有arguments轉用...
//錯誤代碼
let show = function(){
alert(arguments);
}
//正確代碼
let show = function(...args){
alert(args);
}
2.箭頭函數不能做爲構造函數
1....
1.散列的數據變成數組
demo(1,2,3,4);
function(a,b,...c){
//a = 1;b = 2 , c = [3,4];
}
2.數組變成散列的數據
let arr1 = [1,2,3];//將arr1複製給另外一個數組
let arr2 = [...arr1];
坑:必須放在最後
冪
2**3=8;