javascript

はてなダイアリーで JavaScript eval ちょっと待って

盛り上がってるところ*1に水を差すようですが、 気になって仕事が手につきません。 さっき前の席の人に「なんでニヤニヤ*2してるんですか?」って聞かれました。 そろそろお昼なのに、食事も喉を通らないかもしれないので、 書いてしまいます。 はてダで Jav…

helper は正直 form くらいにしか使わない

CakePHP をいきなり実践投入して2ヶ月程たった。 最近は Web アプリ作る時に当たり前のように Ajax 使うし、 それを当たり前のように要求される。 (要求されるのはほとんどがアニメーションとかの部分であって、特に ajax ではないけど。) で、それを当たり…

parseInt の第2引数の罠

parseInt に第2引数があるって知りませんでした。 なんかおかしいなーとは思ってたけど。0から始まったら 8進数として解釈って、あんた。 なんておせっかいな。 「こんにちは。」から始まったら日本語と解釈するくらい横暴だ。 いや、それは合ってる。 「こ…

innerHTML は文法にうるさい。

JavaScript Template(JST) を使って、HTML中に直接テンプレートを記述する方法 は問題がありました。 記述したテンプレートを innerHTML として取得すると、 ブラウザがそれぞれ勝手な解釈をして「正しい」html に書き直そうとします。 結果、少なくとも以下…

ブラウザの戻るボタン対策 多分 safari にも対応版

もはや当たり前となった javascript とか ajax とか使って ページ遷移しない web アプリの弱点として、 ブラウザの戻るボタンは罠問題があります。 ブラウザの「戻る」は生理的に染み付いてるものなので、 今さら注意書きで「使っちゃだめよ」とか言っても無…

apply と call

ここんとこ漸く javascript 頭になってきて、 チームの自分より詳しい人にも教わってるうちに、 やっとこの人の言う事がわかるようになって来た。 Function.prototypeを拡張して遅延実行を実現する call と apply がムニャムニャムニャな人はこれを読むとよ…

JavaScript Template(JST) を使って、HTML中に直接テンプレートを記述する方法

2007/02/10追記 この方法には問題がありました。 http://d.hatena.ne.jp/am11op/20070209/1171039704 JavaScript Template なる javascript のテンプレートエンジンを使ってみた。 あまりにもそのまんまなネーミングである。ダウンロード、使い方は下記リン…

javascript で factory メソッドを使わない理由

factory メソッドが好きで、よく使う。 なんで好きかって言うと、if 文を減らせるからだ。 if 文をいかに減らすかで、コードの可読性はだいぶ違ってくると信じてる。 phpでもよく使ってた。 けど、今まで javascript で factory メソッドにお目にかかったこ…

thisはどこ?問題続き

と思いきや、 prototype.js には bind なる便利メソッドがあるぽい。 その中身はというと、 Function.prototype.bind = function() { var __method = this, args = $A(arguments), object = args.shift(); return function() { return __method.apply(object…

thisはどこ?問題解決

で、javascript ちゃんとやりだして、 最初に躓いたっていうか、イマイチ腑に落ちなかったのが いつの間にか this がどこかいってしまう問題。 多分、初歩的な問題なんだろうけど。 XMLHTTPRequest で callback 指定する時とか、 setTimeout とかの時に、ク…

今更だけど、 javascript勉強中。

php4 はそこそこ書けると自負してる自分だけど、javascript は全然な自分が 今度 javascript メインの案件を任されちゃった。 今まで javascript は php で作ったアプリの管理画面の UI に prototype.js とか scriptaculous 使ってみてた程度。(それすら半年…