JavaScriptの基礎、PHPとの違い

理解するコツ

・変数も、配列も、ウィンドウも、HTMLも、みんなオブジェクトになる
・関数もオブジェクトになる(無名関数)
・関数はデータ型の一種
・関数は、イベントにより実行される
・変数と関数の見分け方:関数は () が付く
・親オブジェクト + 子オブジェクト + プロパティ/メソッド
・「window.onLoad=function(){}」により、要素に直接イベントハンドラを設定しなくても、ページが読み込まれた時点で、イベントハンドラを要素に設定できる →HTMLとロジックを分離できる
・「return false;」は、要素本来の動きを止める
・「this」はイベントハンドラで使う
・非表示は「display:none;」を使用するなど、CSSと有機的に結びついている
・イベントハンドラとイベントリスナーの違い:イベントリスナーはイベントを引数で受けとる
・varを使わずに宣言した変数はグローバルスコープになる

PHPとの違い

・オブジェクト指向が強く、オブジェクト(およびプロパティ、メソッド)を中心とする
・クラスが無く、「プロトタイプ(雛形)」という概念だけが存在する。各オブジェクトが自由にメンバを追加したり削除したりすることができる
・オブジェクトからプロパティ、メソッドを呼び出すのは、「->」ではなく「.」
・変数に「$」を付けない(付けることもできるが)
・「<>」ではなく、「!=」
・「and」「or」ではなく、「&&」「||」
・「elseif」ではなく、「else if」
・「"」で括った文字列内で、変数は展開されない
・イベントがある
・イベントハンドラ(イベントリスナー)がある
・関数定義内でvar宣言していない変数は、グローバル変数になる
・連想配列とオブジェクトは同一
・正規表現「.」に改行もマッチさせるフラグ「s」が無い → (.|\n)

Perlとの違い

・正規表現「.」に改行もマッチさせるフラグ「s」が無い → (.|\n)