var val1 = 5;
var val2 = 4;
if (val1 < val2)
    result = val2;
else
    result = val1;
document.write(result);
実行するステートメントが複数なら { } で囲む。
条件演算子もある。
val1 < val2 ? val2 : val1;
takatoh's blog – Learning programming languages.
var val1 = 5;
var val2 = 4;
if (val1 < val2)
    result = val2;
else
    result = val1;
document.write(result);
実行するステートメントが複数なら { } で囲む。
条件演算子もある。
val1 < val2 ? val2 : val1;
var sum = 0;
var i;
for (i=1; i<=10; i++) {
    sum += 1;
}
document.write(sum, "<br>");
	var animals = Array("dog", "cat", "elephant");      // 配列
for (x in animals) {
    document.write(x, "<br>");
}
	var i = 0;
while (i < 10) {
    document.write(i++, "<br>");
}
ループの停止は break,中断(スキップ)は continue。
var i = 0;
while (true) {
    i++;
    if (i % 2 == 0) continue;
    if (i <= 10) break;
    document.write(i++, "<br>");
}
	例外処理。
try {
    var today = Date();
    today.set_month(3);      // no such method.
} catch (e) {
    document.write(e);       // => [object Error]
}
例外を発生させるには throw かな。
Array コンストラクタを利用する方法。引数に配列のサイズを指定できるけど,必要なら勝手に大きくなってくれる。
var a1 = new Array(); a1[0] = "dog"; a1[1] = "cat"; a1[2] = "elephant";
コンストラクタに値を直接渡す方法。
var a2 = new Array("dog", "cat", "elephant");
リテラル。
var a3 = ["dog", "cat", "elephant"];
要素の型は何でも良い。
var a4 = ["Andy", 16, new Date()];
長さを得るには length プロパティ。必要なら自動的に長くなる。
var a = new Array("andy", "bill", "charlie");
document.write(a.length, "<br>");      // => 3
a[4] = "eddy";
document.write(a.length, "<br>");      // => 5
document.write(a[3], "<br>");      // => undefined
↑a[3] は代入されてないので,undefind になる。
sort() メソッドに引数には,比較関数を渡す。単純に大小関係で比較するなら省略していい。
var a = [4,2,1,5,6,3];
a.sort();
for (i=0; i<a.length; i++) {
    document.write(a[i], ",");      // => 1,2,3,4,5,6,
}
比較関数は,2引数 a,b をとって 正の値/0/負の値 のいずれかを返すように作る。
| a > b | 正の値 | 
| a == b | 0 | 
| a < b | 負の値 | 
Array の添字に整数(インデックス)じゃなくて文字列(キー)を使うと連想配列になる。
var pets = new Array();
pets["Andy"] = "dog";
pets["Bill"] = "cat";
pets["Charlie"] = "elephant";
for (name i pets) {
    document.write(name, ": ", pets[name], "<br>");
}
こりゃ気持ち悪い。整数の添字と混ぜるとどうなるんだ?
var pets = new Array();
pets["Andy"] = "dog";
pets[1] = "cat";
for (name in pets) {
    document.write(name, ": ", pets[name], "<br>");
}
なんでもないかのように動く。
というか,pets[1](添字が整数)と pets[“1”](添字が文字列)を区別していないような感じ。
var pets3 = new Array(); pets3[1] = "dog"; // 整数で代入 document.write(pets3[1], "<br>"); // 整数で参照 => "dog" pets3["1"] = "cat"; // 文字列で代入 document.write(pets3[1], "<br>"); // 整数で参照 => "cat"
やっぱり。