リーリー
リーリー ###質問###
理解できないのは3番目の書き方ですおそらく問題は、アロー関数とバインドについての私の誤解にあるのでしょうか?
先輩方のご指導をお待ちしておりますphpcn_u15822017-05-19 10:33:08
5のアロー関数はfunc呼び出し時にthisをバインドしないので、funcのthisはwindowを指しています
これに変更するだけです
またはこれ:
リーリー曾经蜡笔没有小新2017-05-19 10:33:08
新しく定義された関数には独自の this 値があり、ブラウザーの非厳密モードでは、this はウィンドウを指します。関数がオブジェクト メソッドとして呼び出された場合、その this は呼び出されたオブジェクトを指します。この例では、getName5()
中的函数func
, 并非作为obj
オブジェクト メソッドが呼び出されるため、this は window を指します。アロー関数とは関係ありません。
为情所困2017-05-19 10:33:08
@Xeira は正しいです。アロー関数が定義されると、字句スコープ内のこれは外側の字句スコープにバインドされますが、通常の関数は呼び出す必要があるときに特にバインドされます。これについては、You-Dont-Know-JS で説明を読むことをお勧めします。非常に明確です