javascript - js での clone メソッドの用途は何ですか?
大家讲道理
大家讲道理 2017-06-26 10:52:02
0
3
771

配列などを操作する際にcloneメソッドを使うことがありますが、これを使わずに直接値を代入しても良いような気がするのですが、そうするメリットは何でしょうか?メモリを節約するには?浅いコピペ、深いコピペなどもありますが、初心者なのでご容赦ください。 。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全員に返信(3)
typecho

利点は、「=」とは異なり、クローン配列がメモリ内で独立しており、それを使って何でもできることです。

js では、配列とオブジェクトは参照型です。

リーリー リーリー

つまり、クローン作成の目的は、元のデータを汚さずにデータの新しいコピーを生成することです。

ディープコピーとシャローコピーについて:

リーリー

ご覧のとおり、浅いコピーと深いコピーの違いは、浅いコピーは obj1 の最初の層のみを走査し、obj1 の各属性を obj2 に割り当てますが、属性値がオブジェクト At である場合、深いコピーはそうでないことです。今回は、ディープ コピーは新しい空のオブジェクトを作成し、そのオブジェクトの値を空のオブジェクトに割り当て、その空のオブジェクトを obj3 の属性として返します。

いいねを押す +0
给我你的怀抱

JS プログラミングにおける非常に重要な原則は、「自分のものではないオブジェクトには触れない」です

鮮やかなたとえを言うと、私はあなたに本(物体)を貸しました、そしてあなたはそれを読みたいだけだと思っていましたが、あなたはそれを習字の練習(書くこと)に使ったとき、私はその本を読むことさえできません。通常の内容を返してください。

deepClone はこの問題を解決します。私があなたに本を渡し、あなたはそれをコピーし、その本をそのまま私に返し、あなたはそのコピーを自由に処分できます。

いいねを押す +0
阿神

JavaScriptの深いコピーと浅いコピー?

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!