2005-01-01から1年間の記事一覧
周知の話の繰り返しとなってしまいますが、ちょっと基本に立ち返ってみたいと思います。JSON (JavaScript Object Notation) というものがあります。JS のオブジェクト記法に基づいたコード受け渡しの仕組みですが、ここではその記法そのものを見ていきます。…
Update: 末尾に追記がありますid:reinyannyan:20051028:p1 で、Class.Methods というものを導入してみました。全てのオブジェクトでデフォルトのメソッドとして使えたら便利、というものをまとめておき、インスタンス生成時に自動的に組み込まれるように仕掛…
前回 id:reinyannyan:20051116:p1 の内容に幾つか問題点がありましたので、修正や解決策を新しいページにてお知らせします (今後も、新たに問題が発現すればこちらに追記したいと思います)。 Class.extend まず、新しいクラス継承の方法として Class.extend …
(注意: この記事には幾つか問題点があります。次の記事 id:reinyannyan:20051118:p1 で修正しますので、そちらと併せてお読みください。)prototype.js は、JavaScript というプロトタイプ・ベースのオブジェクト指向言語 (クラスが存在しない = 全てがオブジ…
Update [20060301]: id:reinyannyan:20051118:p1 の末尾に修正点を追記しましたのでご覧下さい。 id:reinyannyan:20051015:1129388215 において、prototype.js の Object.prototype 汚染の問題を紹介させて頂きました。その文脈の中で、(コーディングの便の…
Windows ユーザーで Bloglines ユーザーの私は、デスクトップの右下でこんなことをしています。 これは意外と知られていない機能なんじゃないでしょうか。タスクバーの項目にウェブ・ページを指定できるという機能です。JavaScript なり VBScript で書いたペ…
開発版 prototype.js を読んでみて、かなり勉強になる内容だったので、何点かメモしておきたいと思います。まず、for ループで配列要素ごとに関数(クロージャ)呼び出しをするという、最も一般的な部分は、ひとつのメソッドとして独立させています。引用す…
JavaScript では、オブジェクトや配列を関数に渡す時、常にポインタが使われます。いわゆる copy by reference ですね。変数に代入する場合も同様です。当然メモリー効率を配慮した設計な訳ですが、どうしてもコピーが欲しい時もあるものです。配列のコピー…
prototype.js の提供する便利な機能の一つに、extend によるオブジェクトの拡張があります。prototype.js の中でも、クラスの継承等、随所に使われています。ところが、これには問題があるんですね。id:nazoking:20050425:1114374966 id:secondlife:20051007…
Update [20060309]: この記事は id:reinyannyan:20060309:p1 でアップデートされました こちらの記事 id:naoya:20050813:1123924312 を読んで、JavaScript における Singleton クラスの実装について、しばらく考え込んでみました。結局のところ、メソッド側…
JavaScriptで配列を扱う時に困った経験はないでしょうか? 例えば、オブジェクトのリストがあって、個々のオブジェクトに対して固有のクロージャ*1を割り当てたい場合、for ループで回すと、実際にクロージャが呼び出される頃にはカウンタは既に回り切ってい…