沒有引數只有單條語句
var fun=()=>consoloe.log("1");
fun();
乙個引數單條語句,可以省略()
var fun=a=>console.log("1");//a就是傳入的單個引數
多個引數多條語句
var fun=(a,b)=>
返回的是物件要加{}
var fun=()=>()
var b=()=>return 1; var b=new b();//error,b ji not a constructor
function test(a);//1
test(1)
let test1=(...a)=>consoloe.log(a[1])//1
test1(2,1,3)
console.log(test.prototype)//object{}
console.log(test1.prototype)//undefined
let test1=(...a)=>
consoloe.log(a[1])
//error
箭頭函式沒有this,他的this會向上下文去找而不是本身的this,傳統函式的this誰呼叫就是誰
也可以說傳統函式的this是呼叫時候產生的,誰呼叫就是指向誰
箭頭函式的this是函式定義時候產生的,this是繼承自父執行上下文,並不會因為誰呼叫了這個函式而改變,所以箭頭函式的this不會改變
比如下面的arrowfn中的this,箭頭函式本身與arrowfn平級,也就是箭頭函式本身所在的物件就是obj,obj的父執行上下文就是window,所以這裡的this指向的就是window
此外無論箭頭函式的this指向一旦生成就不會更改不會因為誰呼叫而更改this指向 ES6 箭頭函式 以及箭頭函式和普通函式的區別
箭頭函式的基本語法 es6中允許使用箭頭 來定義箭頭函式,具體語法,可以通過乙個例子說明 箭頭函式 let fun name 等同於 let fun function name 從上面的例子可以看出,定義箭頭函在數語法上要比普通函式簡潔得多。箭頭函式省去了function關鍵字,採用箭頭 來定義函式...
箭頭函式與普通函式區別
1 箭頭函式是匿名函式,不能作為建構函式,不能使用new 2 箭頭函式不繫結arguments,取而代之用rest引數 解決 3 this的作用域不同,箭頭函式不繫結this,會捕獲函式定義的上下文中的this值,作為自己的this值,且一直不變 4 箭頭函式沒有原型物件 5 箭頭函式不能當作gen...
箭頭函式 普通函式
箭頭函式的語法比普通函式更簡潔,是乙個匿名函式,不能作為建構函式,且不能使用new 普通函式 letfun 普通函式 function fun 箭頭函式有兩種格式 一種是和return 另一種是把二者省略掉 1 1.不能使用newlet fun let fn newfun 1.function on...