タグ

2011年7月18日のブックマーク (8件)

  • JavaScript のブロックスコープと名前空間 « Mozilla Developer Street (modest)]

    Web 開発や拡張機能開発で JavaScript のコードを書いていると、誰もが一度は次のようなことで悩むかと思います。 ブロックスコープと名前空間 (グローバル変数汚染の回避) 読み書きしやすくデバッグしやすいコードスタイル コールバック関数と this オブジェクトの取り扱い デバッグ方法とデバッグ支援モジュール 非同期処理の書き方 いずれも解決方法は人によって様々で、これが常にベストと言えるものがなさそうですが、私なりにそれぞれ検討したことなどを書いてみようかと思います。もっと良い方法があるとか色々皆さんのご意見やツッコミをいただければ幸いです。 JavaScript では名前空間は言語仕様でサポートされておらず、ライブラリや拡張機能などのコードを書くときにはグローバル変数の使用を最小限に抑える必要があります。先日の Mozilla 勉強会@東京 3rd でも佐藤さんと守山さんの発

    JavaScript のブロックスコープと名前空間 « Mozilla Developer Street (modest)]
  • javascriptを理解するためのたった2つの大切なこと:改

    9割ぐらいはハッシュ何がハッシュなのかjavascriptで存在するほとんどのオブジェクトの実体はハッシュだよ。 var arr = [0,1,2,3]; とかをみると配列(人によってはリスト)に見えると思う。でも実際は違うんだ。 これは var has = {0:0,1:1,2:2,3:3}; と基的には等価なんだ。ただちょっと束縛されているメソッド(インターフェイス)が違うだけ。 ためしに arr[4] = 4; arr['x'] = 'string'; arr[-1] = -1; としてみよう。 Firebugで確認してみると[0, 1, 2, undefined, 4]というような値がかえってくるよ。 でもarr[-1]やarr['x']の値は保存されてないのかな?そんなことはないちゃんとアクセスできるんだ。 それどころかarr.xで'string'がかえってくるんだ。 別の例を

    javascriptを理解するためのたった2つの大切なこと:改
  • 色んな広告掲載料集めました。 | Maka-veli.com

    アレに広告出したらいくらぐらい必要なんだろー・・・というのにお答え。 ※下記は参考値です。 具体的には様々な条件によりかなり変動します。 制作費はもちろん別途費用。 WEBバナー Yahoo!JAPAN – TOPページ 1週間掲載 レギュラーサイズ(750万imps) 約500万円 ダブルサイズ(750万imps) 約750万円 トリプルサイズ(1250万imps) 約1250万円 ※impsとは、インプレッションの事です。1週間で掲載される保証回数ですね。 最低750万impsからです(トリプルは1250万から) VIA:Yahoo!JAPAN広告費詳細はこちら 前はもっと最低impsも少なかったし安かったよね・・・ 大手ポータルサイトなどは大体このくらいの規模はとられると思って良いと思います。 その他 サイトによってピンキリですが、 大体10万ページビューくらいの

  • 最速インターフェース研究会 :: JavaScriptのデザインパターン - Singleton

    JavaScriptじゃねえと書けねえよ、ってやり方でデザインパターンを実装してみるコーナー。とはいってもデザインパターンとか良くわからないので適当に覚えながら作る。 間違ってる箇所あったらつっこんでくれるとありがたいです。 わかりやすい文章を書く能力が欠如してるのでデザインパターンって何だとかそういうのはこっち参照。 http://d.hatena.ne.jp/naoya/20050813/1123924312 JavaScriptのコンストラクタはPerl同様自在に定義できます。returnでobjectを返してやれば、newの結果としてそいつを使います。 普通にシングルトンなクラスを実装するにはこんな感じだと思います。 function Singleton(){ var self = arguments.callee; if(self.instance == null){ this.

  • Javascriptのシングルトン - 大学生PGの高速計算機Blog

    昨日で今年のバイトも終わりでした。会社の大掃除などして余った時間で考えてたけど、結構難しい。 結局は以下のサイトを参考にしました。↓ ・JavaScriptのデザインパターン - Singleton ・SingletonをMixinする関数 Javaと比較してみます。 Javaシングルトン class Singleton(){ private static instance = new Singleton(); public static Singleton getInstance(){ return instance; } } 使用例 Singleton obj =Singleton.getInstance(); インスタンスをprivateフィールドに入れてただ一つのオブジェクト(シングルトン)を保障します。 JavaScriptシングルトン var singleton = funct

    Javascriptのシングルトン - 大学生PGの高速計算機Blog
  • [JS] SingletonをMixinする関数 (それなりブログ)

  • JavaScriptのnew - wyukawa's diary

    JavaScriptのnewは危険だよんとCrockfordのにもありますが、あんまり意味がわかってなかったのですこし調べてみました。 そしたら John Resig - Simple “Class” Instantiation に全て書いてありました(英語に自信無いけどたぶん)。 単純にやると以下のようになります。 function User(first, last){ this.name = first + " " + last; } var user = new User("John", "Resig"); user.name // "John Resig" しかしこの方法だとnewを忘れた場合に問題があります。thisにグローバルオブジェクトがセットされるためグローバル変数を上書きしてしまいます。 var user = User("John", "Resig"); user //

    JavaScriptのnew - wyukawa's diary
  • JavaScriptでちょっと変わったシングルトン - 犬も歩けば棒も歩く

    シングルトンって何? シングルトンとは、あるクラスから生成されるインスタンスを一つに抑えるためのデザインパターンです。このパターンを使うことで、無駄に新しいインスタンスを生成するのを抑えます。今回、最速インターフェース研究会のJavaScriptのデザインパターン - Singletonを参考にして、少し違ったシングルトンの例を書いてみました。通常のシングルトンは、1つのクラスに対して、1つのインスタンスを保障するものです。しかし、今回私が書いたのは、クラスのコンストラクタに渡す引数の値に応じて、1つのインスタンスを保障するものです。 今回のサンプルで利用するのは、Pointというある座標(x,y)を表すクラスです。通常以下のようにしてPointクラスからインスタンスを生成しようとすると、newした回数だけ新しいインスタンスが作られます。 var Point = function(x,y)

    JavaScriptでちょっと変わったシングルトン - 犬も歩けば棒も歩く