JavaScript
ちょっと離れると忘れちゃうんでmemo
- CAAT(高性能JavaScriptアニメーションフレームワーク) - http://caat.ludei.com/
- イベントハンドラ(javascript)
コメントの書き方
// // 以降がコメント /* 複数行にまたがった コメント */
変数の宣言
// 変数の宣言 var message = "Hello World, Again!"; // 文字列 var d1 = -5.5; // 数値 var d2 = false; // 真偽 var d3 = undefined; // 定義されていない var d4 = null; // 何もない // 配列、オブジェクト // アラート表示 alert(message); // 単項演算子 ++ -- var x = 0; var y = x++; alert(y);
真・偽
// true / false 真偽 if (x == 5) { // } // 文字列 : 空文字だとfalse // 数値 : 0かNaNだとfalse // undefined = false // null = false // true/false = そのまま // object/配列 = true
論理演算子
// 論理演算子 AND(&&) OR(||) NOT(!) if ((x > 2) && (x < 5)) { // x が2より小さい "か" 5より小さい ならなんらかの処理 } if ((x > 2) || !(x < 5)) { // x が2より小さい "または" 5より小さくない ならなんらかの処理 } if !(x < 5) { // x が 5より"小さくければ"なんらかの処理 } // switch var x = 0; switch (x) { case 0: case 1: // 0 1 は同じ処理 break; case 2: // break; default: // break; } // ループ(while) while (x < 10) { // なにかの処理。条件に合わなかったら実行されない } do { // なにかの処理。一度は実行される。 } while (x < 10);
三項演算子
// if 文の省略記法 // 三項演算子 // (条件) ? (真だった場合の値) : (偽だった場合の値) if( a>b ) a=b; else a=c; // 上のif文の省略記法。 (a>b)? a=b : a=c ; // 例 var sex = ''; if (sex == '男性') { price = 5000; } else { price = 3000; } // 三項演算子にすると price = (sex == '男性') ? 5000 : 3000; // 三項演算子は式なので var arr = ["○","×"]; var exist = true; document.write( arr[exist?0:1] );
タイムアウト
// setTimeout: 前回の処理が終わったかどうかを考慮する // setInterval: 考慮しない //setInterval(function() { // 1秒以上の処理 → クラッシュ //}, 1000); var i = 0; /* setInterval(function() { console.log(++i); }, 1000); */ function plusOne() { console.log(++i); setTimeout(plusOne, 1000); } plusOne();
型も値の比較
// 厳密な比較演算子 === !== は型変換しないで比較、 // == != は型変換して比較 var a = 5; var b = "5"; console.log(a !== b); // 数値とブール値 alert(1 == true);// true alert(0 == false);// true alert(1 === true);// false alert(0 === false);// false // 数値と文字列 var a = 10; var b = "10"; alert(a == b);// true alert(a === b);// false // オブジェクト var a = [1,2,3]; var b = a; alert(a == b);// true alert(a == [1,2,3]);// false // 文字列と String オブジェクト var a = "abc"; var b = new String("abc"); alert(a == b);// true alert(a === b);// false
即時関数・無名関数
// 即時関数、無名関数 (function() { console.log("hello world"); })();
乱数
// 乱数 // Math.random() // 0からnまでの整数値 // var x = Math.floor(Math.random() * (n+1)); // 1から6まで var y = Math.floor(Math.random() * 6) + 1;