2007-09-01から1ヶ月間の記事一覧

キーイベント追加 2

// KeyBinds.js // Author: Higeorange // Licence: MIT var KeyBinds = function(elm, k) { this.elm = elm; this.keybind = {}; for(var t in k) { this.add(t, k[t]); } }; KeyBinds.prototype.expand = function(key) { var keycode; var m = null var s…

キーイベント追加

var KeyBind = {}; KeyBind.add = function(elm, key, func) { var keycode; var m = null; var sp = { "Up" : 38, "Down" : 40, "Right" : 39, "Left" : 37 } if(key) { key.replace(/^(([CSA])-)?(\w+)$/, function($0, $1, $2, $3) { if($2) { m = ({ C :…

配列にプロパティ & メソッドを持たせる。

var Hoge = [1,3]; Hoge.fuga = "foobar" Hoge.print = function(a) { print(this + ":" + this.length); } Hoge.print(); // 1,3:2 Hoge.push(3); Hoge.print(); // 1,3,3:3 Hoge.push(4); Hoge.print(); // 1,3,3,4:4 print(Hoge.fuga) // foobar 配列はオ…

アホなミス

["H", "o", "g", "e"].pop().join(””) // pop() で配列が返ると思い込む。 ["F", "u", "g"].push("a").join("") // push() で配列が返ると思い込む。 こうするるよ。 Array.prototype._pop = function() { this.pop(); return this; } Array.prototype._shif…

コーディングスタイル

var Person = { name : "higeorange", getName: function() { alert(this.name); } } var Person = {}; Person.name = "higeorange"; Person.getName = function() { alert(this.name); }; どっちが見やすい?