關於箭頭函式的理解摘記

2021-08-06 04:38:02 字數 937 閱讀 5202

參考:

1.「箭頭函式」(arrow function)是

規格裡面的用語。事實上,整個規格裡面一次也沒有提到lambda

2.「箭頭函式」的this,總是指向定義時所在的物件,而不是執行時所在的物件

。這句話是對的,並沒有寫錯

3.function

foo(), 

100); 

} foo

.call

();請問,上面**的,到底是箭頭函式定義時所在的物件,還是執行時所在的物件?

你認為,答案是後者。這是不對的。

因為,這個例子中,箭頭函式位於foo函式內部。只有foo函式執行後,它才會按照定義生成,所以foo運 行時所在的物件,恰好是箭頭函式定義時所在的物件。

4. 我對上面這個例子,做了一下修改。

function

foo() ,

100); 

}  var

id =

21; 

//加入這行

foo.

call

( );

請問,上面兩個id,哪個是箭頭函式定義時所在的物件,哪個是箭頭函式執行時所在的物件?

5.你把箭頭函式所在的函式與箭頭函式本身混淆了。 6.

最後,我再舉乙個例子。

請問,下面的**執行結果是什麼?

function

foo() ; };

};} varf =

foo.call(); 

vart1 

=f.call()()(); 

vart2 

=f().call()(); 

vart3 

=f()().call();

關於箭頭函式

一 為什麼存在 const person 1000 person.sayhello 因為setinterval執行的時候,是在全域性作用域下的,所有this指向的是全域性window,而window上沒有name和age,所以輸出的是undefined。通常的寫法是快取this,然後在setinte...

關於JavaScript的箭頭函式

箭頭函式是乙個簡寫形式的函式表示式,並且它擁有詞法形式的this值 基本用法 var f v v 這個函式等同於 var f function v var sum num1,num2 num1 num2 等同於 var sum function num1,num2 first last 等同於 fu...

關於箭頭函式的思考

自從有了es6箭頭函式這個靈活的功能,現在寫函式都習慣寫成箭頭函式格式 然而如果不理解箭頭函式的原理,濫用它也會造成很大的影響。思考下面這個問題 let func value console.log value let func function value 我們到平台上測試一下,顯然兩者不等。le...