JavaScriptの基本的な文法
JavaScriptの記述方法
基本的な記述方法
文の終わりにはセミコロン(;)を記述する
大文字と小文字は区別する
ホワイトスペースは無視される
コメント
//単一行コメント /*複数行コメント */
HTML内にコードを書く場合
<html> <head> <script type="text/javascript"> <!-- // scriptタグの間にコードを書く //--> </script> </head> <body> <-- htmlのイベントハンドラに記述 --> イベントハンドラ名="JavaScriptのコード"; </body> </html>
外部のファイルを読み込む場合
<html> <head> <script type="text/javascript" src="javascriptのファイル名"></script> </head> <body> </body> </html>
URLに記述
JavaScript:JavaScriptコード
データ型
データ型の種類
プリミティブ型-データ値を直接保持する。
参照型-データ値を保持するメモリー上の位置を保持する。
リテラル
プログラム内に直接記述する数値や文字列の固定値のこと。
数値
javascriptでは全ての数値は実数(浮動小数点)で取り扱われる。
文字列
文字列はシングルクォーテーション('')またはダブルクォーテーション("")で囲む。
エスケープシーケンス
改行などをバックスラッシュ(\)を使って表す。
論理値
0,null, NaN, undefinedはfalse、それ以以外はtrue。
null
値がないことを示す特殊な値。
未定義値(undefined)
変数を宣言しただけで値が初期化されていないことを示す特殊な値。
オブジェクト
さまざまなデータ型のデータ値の集合体。後で詳しく。
配列
配列の生成にはオブジェクトの生成に利用するnew演算子とArrayコンストラクタを利用する。
配列内のデータ値を利用する場合角括弧([])を利用して要素のインデックス番号を指定する。
var 変数名 = new Array(引数,引数…); //配列の生成 var 変数名 = [要素,要素,要素…]; //配列リテラル 変数名[インデックス番号] //
関数
javascriptでは関数もデータ型として扱われる。後で詳しく。
式と演算子
算術演算子
+ | 加算 |
- | 減算 |
* | 乗算 |
/ | 除算 |
% | 剰余算 |
++ | インクリメント |
-- | デクリメント |
文字結合演算子
+ | 文字列の結合 |
比較演算子
== | 値が等しいか |
=== | 型と値が等しいか |
!= | 値が等しくないか |
!== | 型と値が等しくないか |
右辺の方が大きいか | |
> | 右辺の方が小さいか |
<= | 右辺以上か |
>= | 右辺以下か |
ビット演算子
& | AND |
OR | |
^ | XOR |
~ | NOT |
>> | 右シフト(空いた左側には符号ビットが入る) |
>>> | 右シフト(空いた左側には0が入る) |
<< | 左シフト(空いた右側には0が入る) |
複合代入演算子
代入処理と算術演算処理を組み合わせたもの(+=)など。
その他の演算子
delete | オブジェクトのプロパティなどを削除する |
in | オブジェクトにプロパティが含まれているかを確認する |
instanceof | オブジェクトの種類を確認する |
new | 新しいオブジェクトを生成する |
typeof | データ型を調べる |
void | 未定義値を返却する |
制御文
if文
if (条件) { }
else if文
if (条件) { } else if (条件){ } else{ }
for文
for (i = 0; i < 10; i++) { }
while文
while (0) { }
do/while文
do { } while (0);
for/in文
ar obj = {a: 1, b: 2}; for (var i in obj) { alert(obj[i]); // -> 1, 2 }
switch文
switch (x) { case 0: break; default: break; }
break文
continue文
try/catch/finally文
try{ 例外が発生する可能性のあるコード }catch(識別子){ 例外が発生した場合のコード }finally{ 最後に実行するコード }
例外をスローする
throw 式;
関数
関数の定義
function 関数名 (引数,引,数…){ 文; return 戻り値; }
関数の呼び出し
関数名(引数,引数,…);
オブジェクト
オブジェクトの生成
var 変数名 = new コンストラクタ名(引数,引数,…) //オブジェクトリテラルを利用してオブジェクトを生成 var 変数名 = { プロパティ名 : 値, プロパティ名 : 値,…};
オブジェクトのプロパティやメソッドの利用
変数名.プロパティ名 変数名.メソッド名(引数,引数,…)