2005-10-01から1ヶ月間の記事一覧

prototype.js の Class 拡張試案 (Main, Singleton etc.)

Update [20060301]: id:reinyannyan:20051118:p1 の末尾に修正点を追記しましたのでご覧下さい。 id:reinyannyan:20051015:1129388215 において、prototype.js の Object.prototype 汚染の問題を紹介させて頂きました。その文脈の中で、(コーディングの便の…

XMLHTTP で Bloglines Notifier

Tip

Windows ユーザーで Bloglines ユーザーの私は、デスクトップの右下でこんなことをしています。 これは意外と知られていない機能なんじゃないでしょうか。タスクバーの項目にウェブ・ページを指定できるという機能です。JavaScript なり VBScript で書いたペ…

Ruby的配列イテレータの実装 (prototype.js)

開発版 prototype.js を読んでみて、かなり勉強になる内容だったので、何点かメモしておきたいと思います。まず、for ループで配列要素ごとに関数(クロージャ)呼び出しをするという、最も一般的な部分は、ひとつのメソッドとして独立させています。引用す…

オブジェクト、配列のコピー

JavaScript では、オブジェクトや配列を関数に渡す時、常にポインタが使われます。いわゆる copy by reference ですね。変数に代入する場合も同様です。当然メモリー効率を配慮した設計な訳ですが、どうしてもコピーが欲しい時もあるものです。配列のコピー…

prototype.js の extend メソッド

prototype.js の提供する便利な機能の一つに、extend によるオブジェクトの拡張があります。prototype.js の中でも、クラスの継承等、随所に使われています。ところが、これには問題があるんですね。id:nazoking:20050425:1114374966 id:secondlife:20051007…

Singleton Pattern

Update [20060309]: この記事は id:reinyannyan:20060309:p1 でアップデートされました こちらの記事 id:naoya:20050813:1123924312 を読んで、JavaScript における Singleton クラスの実装について、しばらく考え込んでみました。結局のところ、メソッド側…

Ruby的イテレータ: each

JavaScriptで配列を扱う時に困った経験はないでしょうか? 例えば、オブジェクトのリストがあって、個々のオブジェクトに対して固有のクロージャ*1を割り当てたい場合、for ループで回すと、実際にクロージャが呼び出される頃にはカウンタは既に回り切ってい…