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コード

変数

変数の宣言
var 変数名;
変数の命名規則

英字、数字、アンダーバー、ドル記号が利用出来る。ただし数字は先頭文字に利用出来ない。
予約語は利用出来ない。

データ型

データ型の種類

プリミティブ型-データ値を直接保持する。
参照型-データ値を保持するメモリー上の位置を保持する。

リテラル

プログラム内に直接記述する数値や文字列の固定値のこと。

数値

javascriptでは全ての数値は実数(浮動小数点)で取り扱われる。

文字列

文字列はシングルクォーテーション('')またはダブルクォーテーション("")で囲む。

エスケープシーケンス

改行などをバックスラッシュ(\)を使って表す。

論理値

0,null, NaN, undefinedはfalse、それ以以外はtrue。

null

値がないことを示す特殊な値。

未定義値(undefined)

変数を宣言しただけで値が初期化されていないことを示す特殊な値。

オブジェクト

さまざまなデータ型のデータ値の集合体。後で詳しく。

配列

配列の生成にはオブジェクトの生成に利用するnew演算子とArrayコンストラクタを利用する。
配列内のデータ値を利用する場合角括弧([])を利用して要素のインデックス番号を指定する。

var 変数名 = new Array(引数,引数…); //配列の生成
var 変数名 = [要素,要素,要素…];     //配列リテラル
変数名[インデックス番号]       //
関数

javascriptでは関数もデータ型として扱われる。後で詳しく。

式と演算子

算術演算子
+ 加算
- 減算
* 乗算
/ 除算
% 剰余算
++ インクリメント
-- デクリメント
文字結合演算子
+ 文字列の結合
比較演算子
== 値が等しいか
=== 型と値が等しいか
!= 値が等しくないか
!== 型と値が等しくないか
右辺の方が大きいか
> 右辺の方が小さいか
<= 右辺以上か
>= 右辺以下か
論理演算子
! 否定
&& 論理積
論理和
ビット演算子
& AND
OR
^ XOR
~ NOT
>> 右シフト(空いた左側には符号ビットが入る)
>>> 右シフト(空いた左側には0が入る)
<< 左シフト(空いた右側には0が入る)
複合代入演算子

代入処理と算術演算処理を組み合わせたもの(+=)など。

条件演算子
条件式 ? オペランド1 : オペランド2

条件式の結果が真ならオペランド1を、偽ならオペランド2を実行する。

その他の演算子
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 変数名 = { プロパティ名 : 値, プロパティ名 : 値,…};

オブジェクトのプロパティやメソッドの利用

変数名.プロパティ名
変数名.メソッド名(引数,引数,…)