JavaScript

RailsっぽくHTMLのフォームをJSのオブジェクトに変換するjQueryプラグイン

RailsっぽくHTMLのフォームをJSのオブジェクトに変換するjQueryプラグインを作りました。たぶん車輪の再発明だけど、僕のググり力では見つけられなかったので。 yuku-t/jquery-formdata たとえばこんなHTMLがあるとします。 <form id="item_form"> <input name="token" value="TOKEN"/> <input name="item[title]" value="Title"/> <input name="item[tag_data][names][]" value="Ruby"/> </form>

「Backbone.jsガイドブック」執筆しました

(告知が若干遅れてしまいましたが)色々な縁があって、この度「Backbone.jsガイドブック」という本を執筆しました。 2011年のBackbone.js Advent Calendarで僕が書いた「Backbone.js入門シリーズ」を、原文の跡形が微塵の欠片も無いくらい、改定したもので…

kyoto.js #3 で "Detecting Memory Leak" という発表をしました

kyoto.js #2 で "Write Once Loadable Anywhere" というLTをしました

LESSとSassの比較した結果LESSを採用することにした

CSSを拡張するメタ言語としてLESSとSassが有名。どっちかを使おうと思ったので、LESSとSassを比較してみた。その結果LESSを採用することにした。 採用に至った理由は以下のよう LESSの方が学習コストが低そう LESSの方が読む必要があるドキュメントが少ない …

Backbone.LazyViewというのを作った

taka84u9/backbone-lazyview · GitHub Backbone.Viewのel要素がブラウザ上で表示されたタイミングでappearイベントをtriggerする、Backbone.LazyViewというのを作りました。 使い方はBackbone.Viewと全く同じ。 var FooLazyView = Backbone.LazyView.extend(…

JavaScriptにおけるvoid演算子とはいったい何のために存在するのか

JavaScriptにはvoid演算子なるものがあり、その動作は何をしてもundefinedを返すというもの。 void 0 // # => undefined ECMAScript 5の11.4.2 The void Operatorによれば、void演算子は次のように評価される。 void exprとする exprを評価する undefinedを…

変数のデフォルト設定をちょっとだけ早くする小ネタ

Backbone.jsのコードを眺めていたら、こんなのがあった。(関数名は適当) function foo(options) { options || (options = {}); // ... } ここでやってるのは、optionsが偽だったらObjectで初期化する、という操作だが、次のような書き方の方が一般的だし理解…

たかがsetter、されどgetter。JavaSciprtでsetterとgetterを実装する4通りの方法

JavaScriptでsetterとgetterを実装する方法を集めてみた。 クロージャを使うパターン private変数へアクセスできる特権メソッドをクロージャで実装する方法。おそらく一番メジャーな方法なので、知っている人も多いはず。 function A() { var a; this.getA =…

canvas要素を使って飛び跳ねるボールをシミュレートしてみた

HTML5のcanvas要素の勉強を兼ねて、ちょっとしたアプリケーションを作りました。 Bounding Balls startボタンを押すとボールが落ちてきて 跳ねます。 弾性率をいじると、跳ねっぷりが変化します。弾性率は0以上1以下で、0だとべちゃっと止まり、1だと永久に…

pjaxが便利過ぎて鼻血出そうになった(railsのサンプル付き)

最近pjaxという単語をよく見るから調べてみたら結構よさげだったのでrailsを使ったサンプルを記事にしてみました。 pjaxとAjaxの違い:Ajax=技術、pjax=jQueryプラグイン Ajax JavaScriptを用いてサーバから非同期に取得したデータを用いてコンテンツを改変…