2016-05-11 19 views

答えて

2

なぜ最初の方法(returnFun();)はお勧めできませんか?

この方法では何も問題はありません。

2つの異なるコンテキストで「this」の値はどのようになりますか?最初の例でthis

値はwindowされるであろう、関数が定義された外側の範囲であろう。

thisのスコープをプログラムで変更するには、2番目の例のようにcall()またはapply()メソッドを使用します。これは、2番目の例では、関数内のthisobj変数を参照することを意味します。

+0

"this"の値は同じではありません。両方の呼び出しの場合、returnFun.call(obj); "this"の値は "obj" – user2630764

+0

ちょっと更新しました –

+0

@RoryMcCrossan:最初の例で言うと、「this」は関数が定義された外部スコープになります。それを関数A(){returnFun();に入れてください。 } "this"はA()の "this"と同じでしょうか? – user1400915

関連する問題