回答編集履歴

2

document.currentScript

2017/12/06 04:28

投稿

think49
think49

スコア18156

test CHANGED
@@ -66,4 +66,48 @@
66
66
 
67
67
 
68
68
 
69
+ ### document.currentScript
70
+
71
+
72
+
73
+ > ```JavaScript
74
+
75
+ > const ownerDocument = document.currentScript.ownerDocument;
76
+
77
+ > ```
78
+
79
+
80
+
81
+ このコードは何を意図しているのでしょうか。
82
+
83
+ 下記コードは常に `true` なので、
84
+
85
+
86
+
87
+ ```JavaScript
88
+
89
+ console.log(document.currentScript.ownerDocument === document); // true
90
+
91
+ ```
92
+
93
+
94
+
95
+ 先の変数文は下記コードと同じ挙動になります。
96
+
97
+
98
+
99
+ ```JavaScript
100
+
101
+ const ownerDocument = document;
102
+
103
+ ```
104
+
105
+
106
+
107
+ グローバル変数をローカル変数化する事でスコープチェーンを辿る回数が少なくなる為、`document` を何度も参照するならパフォーマンス向上が期待できますが、`currentScript` を経由する意味はないと考えます。
108
+
109
+ 今一度、求めている動作を見つめなおしてみる事をお勧めします。
110
+
111
+
112
+
69
113
  Re: Fushihara さん

1

document.querySelector

2017/12/06 04:28

投稿

think49
think49

スコア18156

test CHANGED
@@ -36,7 +36,7 @@
36
36
 
37
37
 
38
38
 
39
- **template要素の内容はDOM上に現れません**ので、`querySelector` で検索することは出来ません。
39
+ **template要素の内容はDOM上に現れません**ので、`document.querySelector` で検索することは出来ません。
40
40
 
41
41
  生成された DocumentFragment から `querySelector` を実行する事で期待通りに動作します。
42
42