JS教材風

Last-modified: 2014-12-02 (火) 21:21:58

1.(ブラウザの)JavaScriptとはなんですが
JavaScriptはブラウザの上で実行するプログラミング言語です
JavaのJVMの位置に立っているのがブラウザです(ブラウザが同じであれば同じように動きます、逆もしかり)
JavaScriptからはコンピュータ自体がどんなものかは見えないです(メモリがどうなってる、とかは考えなくていいです)
JavaScriptから見える(操作できる)ものは
・同じブラウザ同じウィンドウのJavaScriptの中身
・同じブラウザ同じウィンドウの表示内容
・ブラウザを介して見えるコンピュータの状態(外からファイルを読むとか。この部分は比較的新しい(HTML5の大きな機能はこれ))
です

2.JavaScriptはどのように実行されているのか
JavaScriptはページを読み込んだ際に、頭から順番に実行されます
scriptタグ内に書かれたものはJavaScriptとみなされて、頭から順番に実行されます
ボタンを押した時に実行されているように見えても、それは「ボタンを押した時にこの処理を行うように設定する」という命令が行われているだけで、頭から順番に実行されています
頭から順番に実行されているということは必ず覚えておいてください

これは、JavaScriptがインタープリタ、すなわち、「その命令を実行する瞬間にその行の内容を解釈する」言語だからです。
JavaとかCでは一旦全文を見て、どんな処理を行うかを機械語(や中間言語)に変換し、それを実行しているのに対して、
JavaScriptは一行ずつ変換して実行しています。
変換する際にわかるようなエラー(変数がない等)があっても、その行を実行するまでわからないです。注意してください。

また、ページを読み込み直すと、JavaScriptは「今の状態を全部捨てて」再度実行されます
JavaScriptの変数とかはページをまたぐことはできない、です
ページをまたぐためには、ブラウザに保存したりサーバに保存したりする必要があります
GMailみたいに一見ページを移動しているように見えるものもありますが、あれは実はページを読み込んでいません(ページ自体は一つで、JavaScriptでページが切り替わったかのように画面を書き換えています)
ページから離れたり再読込すると全部の変数を失ってしまうことは必ず覚えておいてください

3.JavaScriptの値
JavaScriptの値は、
・undefined
・null
・数字
・NaN
・真偽値
・文字列
・オブジェクト
・配列
・関数
に分かれています。
変数はこれらの値どれでも入れることができます。
変数には型はないけれど、値には型があります。

4.DOMについて
DOMは、ブラウザで表示しているHTMLのタグの入れ子がそのままオブジェクトの形になったものです
これを編集すると、表示も同時に変更されます

5.イベントとかコールバックについて

6.グローバルオブジェクトについて
JavaScriptの変数は入れ子になっていて、一番頭にグローバルオブジェクトがあります
普通にグローバル変数を作る、ということは、このグローバルオブジェクトに要素を追加する、ということです

7.newとprototypeについて
グローバルオブジェクト以外のオブジェクトは、全てプロトタイプ、というものを持っています。
これは、

8.JQuery

9.HTML5

10.AngularJS

11.Visualforce上でのJavaScript