箭頭函數
- 箭頭函數的特性
- javaScript中箭頭函數和Java中的lambda表達式兩者相似,這種函數的出現大大簡化了函數的定義
- 比如:
傳統定義函數的方式
<script>
function add(a,b) {
return a + b;
};
console.log(add(1,2));
</script>
使用箭頭函數定義函數的方式
<script>
var add= (a,b) =>{
return a + b;
};
console.log(add(1,2));
</script>
箭頭函數的特性
- 如果函數體隻有一行代碼,則函數大括号可以省略,如果該行代碼用于傳回結果,return必須忽略
<script>
var add= (a,b) => a + b;
console.log(add(1,2));
</script>
結果為3
- 箭頭函數是匿名函數,不能作為構造函數,不能使用new
<script>
var User= () => console.log("箭頭函數");
var user = new user();
</script>
- 箭頭函數沒有原型屬性
<script>
var add = (a, b) => a + b;
console.log(add.prototype);
function out() {
console.log("Tom");
}
console.log(out.prototype);
</script>
- 箭頭函數不綁定arguments,而是使用…接收不定參數
- 箭頭函數中this永遠指向其上下文中的this,普通函數中this指向調用它的對象
<script>
var out1 = (...param) => console.log(param);
out1(1,2,3,4,5,6,7,8,9);
</script>