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

回答編集履歴

1

指摘の入った箇所を修正

2018/05/06 09:22

投稿

miyabi-sun
miyabi-sun

スコア21497

answer CHANGED
@@ -30,9 +30,14 @@
30
30
  jQuery等の外部ライブラリが必要になった時は全て本命のJSより上の行で宣言してください。
31
31
  (既存のプロジェクトは全てそうなっているはずです)
32
32
 
33
- HTML5でこのルールに従わない挙動が可能ですが、
33
+ HTML5でこのルールに従わない挙動が可能ですが、
34
34
  [例外に関してはこの辺の記事](https://qiita.com/phanect/items/82c85ea4b8f9c373d684)を読んでみてください。
35
35
 
36
+ ※ES2015という新しい仕様でimport構文が追加されましたが、
37
+ JSコード単体が勝手に外部のJSを読み込んでロードするほどの機能はありません。
38
+ 使い方はこの質問のマイスマ君さんの回答を参考にしてみてください。
39
+ [https://teratail.com/questions/124725](https://teratail.com/questions/124725)
40
+
36
41
  ### 外部ライブラリの実装
37
42
 
38
43
  基本的にはグローバル変数領域に直書きで`var jQuery = function...`という風な事が記載されています。
@@ -44,7 +49,8 @@
44
49
  グローバル変数領域に自分のライブラリ名だけ宣言しておき
45
50
  中身はクラス的なものを配置、`jQuery.hoge(123)`という風にプロパティやメソッドにアクセス使うという設計になっているのが一般的です。
46
51
 
52
+ ※IE11がimport/exportに対応していない為、
47
- スコープ関係の詳細リファレンス本等見れば書いあると思うの別途確認てください
53
+ 後5年程度import構文使っ読み込むライブラリは出ないでしょう
48
54
 
49
55
  ### main関数の代わり
50
56
 
@@ -67,8 +73,9 @@
67
73
  ### DOMのレンダリングを待つ方法
68
74
 
69
75
  - `body.onload = fn`: バッドプラクティス
70
- - `window.addEventListener('load', fn)`: 基本はこれ
76
+ - `window.addEventListener('DOMContentLoaded', fn)`: 基本はこれ
77
+ - `window.addEventListener('load', fn)`: 画像ファイル・CSSファイルの読み込みも待ってから発火したい場合はこちら
71
- - `$(fn)`: jQueryのライブラリで用意されているエイリアス
78
+ - `$(fn)`: jQueryのライブラリで用意されているDOMContentLoaded相当のエイリアス
72
79
 
73
80
  `fn`は関数を指しています。
74
81
  変数に代入して持ってきても良いですし、こんな風にその場で宣言して格納しても良いです。