質問するログイン新規登録

回答編集履歴

2

.

2022/09/06 13:32

投稿

int32_t
int32_t

スコア22007

answer CHANGED
@@ -4,9 +4,7 @@
4
4
  window.requestAnimationFrame(clock.clock());
5
5
  ```
6
6
 
7
- `requestAnimationFrame()` の引数として、関数 `clock()` の実行結果が渡されています。関数を実行せず、関数そのものを渡しましょう。このコードの場合`Clock`クラスは何もデータを持っていないので、 `requestAnimationFrame(this.clock);` などでいい思います。
7
+ `requestAnimationFrame()` の引数として、関数 `clock()` の実行結果が渡されています。関数を実行せず、関数そのものを渡しましょう。`this` が正しく動くために、`requestAnimationFrame(this.clock.bind(this));` や `requestAnimationFrame(clock.clock.bind(clock));` 書く必要があります。
8
8
 
9
- `Clock`クラスが何かデータを持つようになると、`requestAnimationFrame(this.clock.bind(this));` や `requestAnimationFrame(clock.clock.bind(clock));` と書く必要があります。
10
9
 
11
10
 
12
-

1

bind()

2022/09/06 13:30

投稿

int32_t
int32_t

スコア22007

answer CHANGED
@@ -6,4 +6,7 @@
6
6
 
7
7
  `requestAnimationFrame()` の引数として、関数 `clock()` の実行結果が渡されています。関数を実行せず、関数そのものを渡しましょう。このコードの場合`Clock`クラスは何もデータを持っていないので、 `requestAnimationFrame(this.clock);` などでいいと思います。
8
8
 
9
+ `Clock`クラスが何かデータを持つようになると、`requestAnimationFrame(this.clock.bind(this));` や `requestAnimationFrame(clock.clock.bind(clock));` と書く必要があります。
9
10
 
11
+
12
+