タグ

JavaScriptとcloneに関するk_37toのブックマーク (2)

  • 最速インターフェース研究会 :: JavaScriptにおけるdeep clone

    http://blog.livedoor.jp/dankogai/archives/50957890.html まず、Object.prototypeにメソッドを生やしてしまうとfor inでキーを列挙するときにいちいちhasOwnPropertyを使わないといけなくなるので普通は使いません。影響が大きすぎるので、よっぽど変態的なライブラリじゃないと使わない。他のライブラリと組み合わせるとほぼ確実に問題が起きる。それから、deep_cloneが欲しい場合はJSONを作ってevalすればよい。パフォーマンスを気にする場合とか、浅いコピーが必要な場合はそれなりに工夫する必要があるけど。 で、JSONにするのにFirefoxだとtoSourceというのが使える。unevalというラッパーがあって、これだとnullでも平気。 http://subtech.g.hatena.ne.jp/cho45/

  • object=clone(object); - Thousand Years

    世の中にはdeep cloneの需要がある 僕もある。某ライブラリで実装せにゃならない。スマートな方法は思いつかず。永遠ループでまわしつづけています。この前見つけたネタのエントリ。 404 Blog Not Found:javascript - お伺い - Object.prototype.clone() http://la.ma.la/blog/diary_200711270645.htm clone関数を使ったときの挙動 clone関数を使うと分身(shogo4406)が変わってもオリジナル(shogo4405)には変化がない。ただ、オリジナル(shogo4405)が変化すると分身(shogo4406)も一緒に変身してしまうので用途によっては困る。 shogo4405 = { name:'shogo4405', age:22 }; shogo4406 = clone(shogo4405

    object=clone(object); - Thousand Years
  • 1