よく必要となる処理のメモです。
配列制御
// 配列の初期化 var list = [1, 2, 3]; var list = new Array(); var list = new Array(1, 2, 3); // 配列同士の結合 var new_list = list1.concat(list2); // 配列に要素を追加 list.push(1); list.unshift(1); // 配列から要素を取り出す var a = list.pop(); var a = list.shift(); // join var csv = list.join(','); // 要素数 var length = list.length; // 並び替え var new_list = list.sort(); // map関数(jQuery) var new_list = jQuery.map(list, function (a) { return a.toUpperCase(); }); // grep関数(jQuery) var new_list = jQuery.grep(list, function (n) { return (n != 'a'); });
文字列操作
// 初期化 var str = "abcd"; // 文字列の長さ var length = str.length; // スプリット var list = str.split(','); // 大文字・小文字 var xx1 = str.toUpperCase(); var xx2 = str.toLowerCase(); /* 正規表現 */ // match if ("ABCDEFG".match(/def/i)) { alert("Match"); } // gオプション var xx = "12:34:56".match(/\d+/g;); xx[0]; // -> "12" xx[1]; // -> "34" xx[2]; // -> "56" // 後方参照 var xx = "12:34:56".match(/(\d+):(\d+):(\d+)/); RegExp.$1 // -> "12" RegExp.$2 // -> "34" RegExp.$3 // -> "56"
オブジェクト指向
コンストラクタの定義
// 引数なし var Test = function() {}; // 引数あり var Test = function(a) { this.a = a; };
メソッドの定義
Test.prototype.test1 = function() { alert('test'); }; Test.prototype.test2 = function(a) { alert(a); }; Test.prototype.getA = function() { return this.a; }; // JSON形式で Test.prototype = { test1: function() { alert('test'); }, test2: function(a) { alert(a); }, getA: function() { return this.a; } };
クラス関数の定義
Test.show = function() { alert('show()'); };
クラスの利用
// インスタンス var t = new Test('a'); // メソッド呼び出し t.test1(); // クラス関数 Test.show();
クラスの継承
var Test = function() {}; Test.prototype.test = function() { alert('aaa'); }; var Test2 = function() {}; Test2.prototype = new Test(); var t = new Test2(); t.test();