2010年01月26日

javascript:「new」そんなに嫌わないで・・・

前の「javascript:クラス風の定義をしないメソッドチェーンです」で、new なんて・・・。とか言いながら下記の記事を見つけたので、天の邪鬼に走った思考がムクムク。と。

あと味さん
JavaScriptのnewって本当にいらない子?
http://d.hatena.ne.jp/jdg/20090706/1246840565

function f(){}
f.prototype.m = function (){
  alert(this == window);
}; //「;」は略せない! 試すと分かるけど下の結果が変わる。よく抜けてしまうけどw

(new f()).m(); // false



続きを読む


posted by HiFa at 04:32 | 🌁 | Comment(0) | TrackBack(0) | JavaScript雑感 | このブログの読者になる | 更新情報をチェックする

2010年01月24日

php:${ }って結構便利よ

うっかりプログラミング日誌さん
ReflectionClassでメソッドを動的に呼ぶ&ベンチマーク
http://d.hatena.ne.jp/gom68/20090926/1253939933

あまり、記事内容に沿うリンクじゃありませんが、ReflectionClass を調査していてふと・・・。

続きを読む
posted by HiFa at 15:29 | 🌁 | Comment(0) | TrackBack(0) | ときどきPHP | このブログの読者になる | 更新情報をチェックする

2010年01月23日

programing:すげぇ

2年以上前の投稿だけど、手品見たいだ。
初めて見てビビったので記録

わずか96キロバイトの超絶FPSゲーム
http://zapanet.info/blog/item/1133

わずか565バイトテトリスのプログラミング解説
http://zapanet.info/blog/item/1125

自分の場合、弾を撃って的に着弾する判定で 96K 超えるかも・・・。.kkrieger のその後どうなってるか探すの面倒でやめたけど、かなり話題になったみたいね。知ってる人はスルーだけど、この衝撃は大きいなぁ。

ああ、自分は時間の流れも浪費気味^^;
posted by HiFa at 14:40 | 🌁 | Comment(0) | TrackBack(0) | おぼえとけよ〜 | このブログの読者になる | 更新情報をチェックする

2010年01月12日

javascript:クラス風の定義をしないメソッドチェーンです

37toさんとの意見交換での補足です。
動的なscriptタグの読み込みを同期的に行う
http://blog.37to.net/2008/08/script/

発端:javascript の動的読込みで依存関係に考慮するのって・・・

結局、読込み成功に対して処理をすると言う基本的なアルゴリズムには変わりがないんですよね。それでも敢えてコメントしたのは、依存を考慮するためにあの形式にしているような印象を受けたからです。なので、私の方のブログには「書き方で対処できる」とした訳です。
つまり、メソッドチェーンやタグ入れ込み、関数かクラスかは枝葉であって、私としては関心が薄かったんですね。でもせっかくなので、クラス風の定義無しでのメソッドチェーンを自分のブログでUP。

ちなみに。インデントが深くなるということですが、実際の処理が直列でない以上、インデントの深さは実際の実行や意味(成功時に起動するという)により則した表現だとも思う。なによりコールバックの直接記述で複雑なコードを入れ込まれる事を抑止できるというのは、ついやってしまう私としては大きい(笑)


続きを読む
posted by HiFa at 00:57 | 🌁 | Comment(0) | TrackBack(0) | JavaScript雑感 | このブログの読者になる | 更新情報をチェックする

2010年01月06日

javascript: var v = a || b; の利点欠点と応用

var v = a || b;

評価式の利点欠点と応用(?)を考え始めたら、結局 switch-case も侮れんなぁ。という結果。ちなみに式は式だけど「評価式」と呼んで良いのかな?

利点・欠点、応用の前にまず確認。
// ■ 動作確認
alert(3 || 4); // 3
alert(3 && 4 || 5); // 4
alert(3 < 4 || 5); // true

// ■ false 扱いに関して
var o = {};
alert(0 || '' || null || false || undefined || void(0) || o.noprop || '全部 false 扱い'); // 全部 false 扱い
alert(undefined || 0); // 0 <- 注意
alert(0 || undefined); // undefined <- 注意

// ■ if と等価な処理
function test(){
  alert('処理');
}
if(!o.noprop) test(); // 処理
o.noprop || test(); // 処理

// ■ くどいけど確認
o.noprop || (o.noprop = '入れてやる');
alert(o.noprop); // 入れてやる
o.noprop || (o.noprop = 'すでに入っていると?');
alert(o.noprop); // 入れてやる <- 当然代入まで行っていない


続きを読む
posted by HiFa at 03:19 | 🌁 | Comment(0) | TrackBack(0) | JavaScript雑感 | このブログの読者になる | 更新情報をチェックする

2010年01月04日

javascript の動的読込みで依存関係に考慮するのって・・・

blog.37to.netさん
動的なscriptタグの読み込みを同期的に行う
http://blog.37to.net/2008/08/script/

例え非同期でも依存関係に考慮するのは、書き方次第で幾らでも対処できる事だと思う。ちまたにある非同期で動的な読み込みを行う関数で、成功時のコールバックさえ出来る関数なら、別段難しくない。

例えば前回挙げた関数 load なら

load('script1.js', function(){load('script2.js')})

でやれば依存関係はクリアする。
折角コールバックがあるならそれで十分だと思う。
posted by HiFa at 16:23 | 🌁 | Comment(0) | TrackBack(0) | JavaScript雑感 | このブログの読者になる | 更新情報をチェックする