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

質問編集履歴

2

aaaaa

2018/04/12 16:33

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- バインドスコープが制限される?
1
+ バインドスコープコンソール
body CHANGED
@@ -1,8 +1,6 @@
1
1
  ```
2
2
 
3
3
  ```
4
- 初めのクリック時は「いいいい」とコンソールされますが、
5
- 次のスクロール時は「ああああ」とコンソールされます。
6
- つまりクリ無ければ、クリック時の変数変更がスクロール時にも影響します。
4
+ 初コンソールコンソールコンソールコンソールコンソールvの変数変更がスクロール時にも影響します。
7
5
 
8
6
  なぜ、このようなことが起こるのか、どのような原理が働いているのでしょうか?

1

ああああ

2018/04/12 16:33

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- バインドすると変数のスコープが制限される?
1
+ バインドスコープが制限される?
body CHANGED
@@ -1,18 +1,8 @@
1
1
  ```
2
- var a = "ああああ";
2
+
3
- $(window)
4
- .on('click',function(){
5
- var a = "いいいい";
6
- console.log(a);
7
- }.bind(this))
8
- .on('scroll',function(){
9
- console.log(a);
10
- });
11
3
  ```
12
4
  初めのクリック時は「いいいい」とコンソールされますが、
13
5
  次のスクロール時は「ああああ」とコンソールされます。
14
- つまりクリックファンクション内での変数の変更が、外に影響を及ぼさなくなっており、
15
- これは**bind(this)**することによって発生しています。
16
- ※通常、bindが無ければ、クリック時の変数変更がスクロール時にも影響します。
6
+ つまりクリ無ければ、クリック時の変数変更がスクロール時にも影響します。
17
7
 
18
8
  なぜ、このようなことが起こるのか、どのような原理が働いているのでしょうか?