タグ

2007年9月5日のブックマーク (4件)

  • BeInteractive! [ASでブロック付きメソッド呼び出し - その2]

    前のエントリの続きです。 で、たまたま見つけたんですが、どうやらFirefoxでは、JavaScript1.5辺りから、Array.forEachメソッドという、瓜二つなメソッドが実装されてるぽいです。世の中考えることは皆同じですネ... ただ、とりあえずまだ書くことがあるので書いておきます(また誰かが先を越してるかもしれないけど・・)。 まず、continueについて。通常のループでは、continueを使うと残りの処理を飛ばして、次のループ処理をします。 for(var i:Number=0; i<list.length; i++) { var item = list[i]; if(item < 5) continue; trace(item); } 上の例では、要素が5未満であれば、traceをせずにスキップをします。 では、これをeachに適用するとどうなるで

    stylus
    stylus 2007/09/05
  • 3D基礎知識

    座標変換 ・sin,cosについて 角度θがあるとします。ここでいう角度とは反時計回りならば正の値 時計回りならば負の値とします。X軸に対してθの角度をなしている 直線を考えます。この直線と半径1の円が交差している点のX座標の値が cosθ、Y座標の値がsinθとなります。 ・一次変換 (x,y)の点を反時計回りにθだけ回転させる場合(回転後の点は(x',y')) x' = x * cosθ - y * sinθ y' = x * sinθ + y * cosθ これを行列表現にすると |x'| = | cosθ -sinθ ||x| |y'| | sinθ cosθ ||y| 以下概念図 |x0' y0'| = x0 * ix + y0 * iy |x0' y0'| = |x0 y0||cosθ sinθ| |-sinθ cosθ| ・3次元の座標変換 x,y,z:変換前の座標; x',

  • BeInteractive! [ActionScript]

    ActionScriptには、Function.applyというメソッドがあって、thisと任意長の引数を指定してメソッドを呼び出すことが出来ます。 function sum (a:Number, b:Number) : Number { return a + b; } var n:Number = sum.apply(null, [1, 2]); // var n:Number = sum(1, 2); と同じ この、「任意長の引数」というのがポイントで、どんなメソッドであろうが、何個引数があろうが呼び出せるので便利なのです。 んで、今回考えるのは、この「任意長の引数」をnewの時に実現できないか?という話。イメージとしては、java.lang.reflect.Constructor#newInstaceのような、Function.newInstanceというメソッドがあ

    stylus
    stylus 2007/09/05
    Function.newInstance
  • JavaScript の new 演算子の意味: Days on the Moon

    JavaScript における new 演算子の動作は大まかにいって以下のとおりである。(new F() とした場合。) 新しいオブジェクトを作る。 1 で作ったオブジェクトの [[Prototype]] 内部プロパティ (__proto__ プロパティ) に F.prototype の値を設定する。 F.prototype の値がオブジェクトでないのなら代わりに Object.prototype の値を設定する。 F を呼び出す。このとき this の値は 1 で作ったオブジェクトとし、引数には new 演算子とともに使われた引数をそのまま用いる。 3 の返り値がオブジェクトならそれを返す。そうでなければ 1 で作ったオブジェクトを返す。 ここで「オブジェクトである」というのはプリミティブ値 (文字列、数値、真偽値、undefined 、null) ではないということだ。new Stri

    stylus
    stylus 2007/09/05
    newしたとき何やってるのか