JavaScript はオブジェクト指向というプログラミング上の思想を受け継いでおり、ウィンドウや、ドキュメントやフォーム部品などいろいろなものをオブジェクト(物)として扱います。オブジェクトには以下のようなものがあります。
□ オブジェクト(Object) ├□ 数値(Number) ├□ 文字列(String) ├□ 真偽値(Boolean) ├□ 配列(Array) ├□ 数学関数(Math) ├□ 日付(Date) ├□ 関数(Function) ├□ 正規表現(RegExp) └□ ウィンドウ(Window) ├□ ナビゲーター(Navigator) │├□ プラグイン(Plugin) │└□ MIMEタイプ(MimeType) ├□ フレーム(Frame) ├□ イベント(Event) ├□ ヒストリ(History) ├□ ロケーション(Location) ├□ スクリーン(Screen) └□ ドキュメント(Document) ├□ レイヤ(Layer) ├□ 画像(Image) ├□ リンク(Link) ├□ アンカー(Anchor) ├□ アプレット(Applet) ├□ フォーム(Form) │├□ テキスト(Text) │├□ パスワード(Password) │├□ ファイルアップロード(File) │├□ 隠し部品(Hidden) │├□ テキストエリア(Textarea) │├□ チェックボックス(Checkbox) │├□ ラジオ(Radio) │├□ ボタン(Button) │├□ サブミットボタン(Submit) │├□ リセットボタン(Reset) │└□ セレクト(Select) │ └□ オプション(Option) └□ エレメント(Elements) └□ スタイル(Style)
オブジェクトは、値を参照したり設定するためのプロパティ(属性)を持ちます。例えば navigator オブジェクトには以下のようなプロパティがあります。
navigator.appName // ブラウザの名前 navigator.appVersion // ブラウザのバージョン
オブジェクトはまた、動作を指定する際に用いるメソッド(処理)をサポートしています。例えば window オブジェクトには以下のようなメソッドがあります。
window.alert("Hello"); // 警告ダイアログを表示する window.open("xx.htm", "_blank"); // 新しくウィンドウを開いて表示する
オブジェクト・プロパティ・メソッドの他に、JavaScript では変数を用いることができます。変数は、名前のついた箱のようなもので、中に数値や文字列などの値を保持することができます。例えば、下記の例は、「xx は 5 に等しい。」という意味ではなく、「xx という名前の変数に 5 という値を代入する。」という意味を持ちます。
xx = 5;
変数名には、アンダーバー(_)を含む半角英数字を使用することができます。ただし、数字ではじまる変数名は使用できません。また、if や while などの予約語(JavaScript として意味のある単語)も使用することができません。
○ count_of_today ○ abc123 × 123abc × if ○ if_while
変数の使用開始を明示的に宣言するには、var を用います。
var xx, yy, zz; xx = 5; yy = 8; zz = xx + yy;
下記の例では、xx に 5 を代入し、yy に 3 を代入し、その合計をダイアログで表示しています。ここで、「5 を代入する。」、「合計をダイアログで表示する。」といった処理の単位を「文」と呼びます。
xx = 5; yy = 3; window.alert(xx + yy);
文の終わりにはセミコロン(;)をつけます。セミコロンで区切ることにより、1行に複数の文を記述することができます。
xx = 5; yy = 3; window.alert(xx + yy);
ひとつの文を複数の行に分けて記述することもできます。
xx = 5; yy = 3; window.alert(xx + yy);
1行に1文しか記述しない時はセミコロン(;)は省略することも可能ですが、JavaScript の習慣としては、つけておくことをおススメします。
xx = 5 yy = 3 window.alert(xx + yy)
C++ 言語と同様、// から行末まではコメントとして扱われます。コメントには、プログラムの注釈(メモ)などを記述します。
xx = 5; // この部分にコメントを書きます
/* から */ の間もコメントとして扱われます。
/* この部分はコメントです。*/
/* ... */ のコメントは、複数行にまたがることもできます。
/* * この部分がコメントです。 */
/* ... */ を入れ子(二重)にすることはできません。
/* コメントを /* 入れ子 */ にすることはできません。*/ ← error!!
JavaScript では、変数名や関数名などの大文字と小文字は別の文字として扱われますので注意してください。例えば、下記の変数はいずれも別の変数として扱われます。
filename = "aaa.htm"; FileName = "bbb.htm"; FILENAME = "ccc.htm";