回答編集履歴

1

追記

2021/01/20 12:25

投稿

AT_2nd
AT_2nd

スコア266

test CHANGED
@@ -9,3 +9,59 @@
9
9
  var observer = new MutationObserver(deleteTweet(message))
10
10
 
11
11
  ```
12
+
13
+
14
+
15
+ ※追記、コメントに対して回答します。
16
+
17
+ 関数オブジェクトに括弧を付けると、それは関数の呼び出しになります。
18
+
19
+ この行の時点で既にdeleteTweetが実行されています。
20
+
21
+ そして、new MutationObserverの引数には、deleteTweet(message)の戻り値のnullが渡されます。
22
+
23
+ ```javascript
24
+
25
+ var observer = new MutationObserver(deleteTweet(message))
26
+
27
+ ↑この部分で実行している
28
+
29
+ ```
30
+
31
+ 関数自体を渡したいなら、括弧無しで記述して下さい。
32
+
33
+ ```javascript
34
+
35
+ var observer = new MutationObserver(deleteTweet)
36
+
37
+ ```
38
+
39
+ deleteTweetに対して外部から値を渡したい場合については、クロージャの仕組みを使いましょう。
40
+
41
+ 例を一つ挙げますが、まず自分で調べて理解するようにして下さい。
42
+
43
+ ```javascript
44
+
45
+ function sample()
46
+
47
+ {
48
+
49
+ const hoge = "hogehoge";//ここで宣言した変数は
50
+
51
+ function uni()
52
+
53
+ {
54
+
55
+ console.log(hoge)//ここからも参照できる。
56
+
57
+ }
58
+
59
+ uni();//hogehogeが表示される。
60
+
61
+ }
62
+
63
+
64
+
65
+ console.log(hoge);//当然ここからは参照できない。
66
+
67
+ ```