« さらば Paged List | メイン | CBL Partial Updater (20050922) リリース » 2005年09月22日 prototype.js のイベント順序 prototype.js (1.3.1) を使用していて、奇妙な現象にぶつかったので、メモをかねてブログ。 prototype.js を非同期モード (asynchronous:true) で実行している場合、 onComplete の後に onLoading が呼ばれることがある。 原因は、prototype.js のこのコード: if (this.options.asynchronous) { this.transport.onreadystatechange = this.onStateChange.bind(this); setTimeout((function() {this.respond
実践 prototype.js [2] 中にある、ひげぽんさんの疑問の解決法を思いついた。 //この方法では引数が渡せない function Hoge(){ Hoge = Class.create(); Hoge.prototype = (new HogeBase).extend({ initialize : function(){...}, ... }); return new Hoge(); } 困ったのは最後の return new Hoge() である。これでは引数が渡せない。new がなければ Hoge.apply(Hoge , arguments) とか出来るのに。 しょうがないので eval を使って解決した。 //この部分は最初に読み込ませる Function.prototype.createInstance = function(){ var strArgs = 'new
以下mixi日記の転載、僕みたいにprototype.jsってなんだよ?と焦ってる忙しい人向けの清涼剤エントリのつもり。今週は9連休なので、やる気があります(謎) 参考にさせてもらったprototype.jsに言及された方のコメントに書いてあった通り、「便利で適度にコンパクトで素敵」というのが最大の特徴。jakarta commonsみたいに、その気になれば30分もあれば十分に読めるのが魅力でこういうライトなライブラリは好きです。 最近、Ajax系のフレームワークが出ていて、すごく気になってたけど、ことprototype.jsに限って言えば、別に使わなくてもさして不利益にもならないことがわかったので安心した。ただし、このレベルのJavaScriptを書ける人は少ないよなぁ。JavaScriptのウザイとこ=本質をコンパクトにまとめている感じなので、オブジェクトのスコープとかthisの使い方
かなりターゲットの狭いTips。役に立たない。 prototype.jsというRuby on Railsなんかのフレームワークで使われている有名なJavaScriptのライブラリがあって、これが色々と使えそうな処理を綺麗に詰め込んであり、デファクトスタンダート的な地位を確立しているのだけれど、ちょっと微妙だなーと思うところがあって、それはObject.prototypeを拡張してしまう点。 実際の弊害はこういう。 http://d.hatena.ne.jp/nazoking/20050425/1114374966 要は連想配列として使うときに困るって話。 多分prototype.jsはJavaScriptの側でロジックを組むことをあまり想定していないため、この辺の問題にあんまり配慮していないのではないかと思うのだけれど、とりあえず無理やり回避する方法を思いついたので書いてみる。 http:
prototype-based object oriented 。 オブジェクトがスロット(クラスのインスタンスならインスタンス変数やメソッドに相当)の追加をクラスに依存せずに自由にできることを前提としたオブジェクト指向。あるいはそうしたオブジェクトを用いたプログラミングや、それをサポートする機構。 「インスタンスベース」、「オブジェクトベース」とも。 これらへの言い換えは「プロトタイプベース」という言葉が持つ限定的なニュアンスを払拭するのにおおいに役立つ。しかし同時に、前者の「インスタンスベース」において特に、“プロトタイプベースにはクラスがない”あるいは“プロトタイプベースはクラスベースの対極にある(あるいはアンチテーゼである)”といったような教科書的記述に惑わされている人をひどく混乱させるらしく、極端な拒絶反応を示す人もいるので注意。また、後者においては、オブジェクトオリエンテッド=
Ruby on Rails や Catalyst のプラグインなんかでは prototype.js という JavaScript のライブラリを使って、Ajax サポートを実現しています。prototype.js とフレームワークが必要な Ajax の JavaScript コードを吐き出してくれるので、Ruby プログラマや Perl プログラマは JavaScript の実装を意識しなくても Ajax なインタフェースが作れる、という風になっています。 こんな感じで prototype.js は Ajax な部分に注目が集まっていますが、ほかにも "Class-style OO" なフレームワークも内包してます。 JavaScript はプロトタイプベースのオブジェクト指向言語で、C++ や Java のようなクラスベースのオブジェクト指向言語とはちょっと実装が異なります。プロトタイプ
昨日に引き続きJavaScriptねたです。 ページを表示した時点でJavaScriptを実行したい場合、 window.onload=function(){ alert('called when window is loaded.'); } のようにwindowオブジェクトのonloadイベントに実行したいfunctionをセットしてやればいいのですが、これだと、オンロード時にひとつのfunctionしか実行できません。 そこで、オンロード時に複数のfunctionを実行できるようなスクリプトを書いてみました。今回のコードはnaoyaさんのprototype.js でデザインパターン - IteratorのエントリにあるIteratorパターンのコードをそのまま借りたリスペクト指向プログラミングになってますw //multiple_onload.js var OnloadFunction
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く