麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

深入理解JavaScript中的對象復制(Object Clone)

2019-11-20 10:00:32
字體:
來源:轉載
供稿:網友

JavaScript中并沒有直接提供對象復制(Object Clone)的方法。因此下面的代碼中改變對象b的時候,也就改變了對象a。

a = {k1:1, k2:2, k3:3};

b = a;

b.k2 = 4;

如果只想改變b而保持a不變,就需要對對象a進行復制。

用jQuery進行對象復制

在可以使用jQuery的情況下,jQuery自帶的extend方法可以用來實現對象的復制。

a = {k1:1, k2:2, k3:3};

b = {};

$.extend(b,a);

自定義clone()方法來實現對象復制

下面的方法,是對象復制的基本想法。

Object.prototype.clone = function() { var copy = (this instanceof Array) ? [] : {}; for (attr in this) {  if (!obj.hasOwnProperty(attr)) continue;  copy[attr] = (typeof this[i] == "object")?obj[attr].clone():obj[attr]; }  return copy;};a = {k1:1, k2:2, k3:3};b = a.clone();

下面的例子則考慮的更全面些,適用于大部分對象的深度復制(Deep Copy)。

function clone(obj) {  // Handle the 3 simple types, and null or undefined  if (null == obj || "object" != typeof obj) return obj;  // Handle Date  if (obj instanceof Date) {    var copy = new Date();    copy.setTime(obj.getTime());    return copy;  }  // Handle Array  if (obj instanceof Array) {    var copy = [];    for (var i = 0, var len = obj.length; i < len; ++i) {      copy[i] = clone(obj[i]);    }    return copy;  }  // Handle Object  if (obj instanceof Object) {    var copy = {};    for (var attr in obj) {      if (obj.hasOwnProperty(attr)) copy[attr] = clone(obj[attr]);    }    return copy;  }  throw new Error("Unable to copy obj! Its type isn't supported.");}

以上這篇深入理解JavaScript中的對象復制(Object Clone)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产正在播放 | 国产a一级片 | 精品久久久久久久久久久久久久久久久久久 | 一区二区三区无码高清视频 | 国产xxxx免费| 激情在线视频 | 青青操精品 | 国产韩国精品一区二区三区久久 | 毛片免费在线 | 欧美日韩高清在线观看 | 黄色免费小视频网站 | 成人免费福利视频 | av电影在线网站 | 成人短视频在线观看免费 | 精品99在线视频 | 黄色视屏免费看 | 韩国一级免费视频 | 91久久极品少妇韩国 | 曰韩一二三区 | 日韩电影av在线 | 网站激情 | 国产欧美精品一区二区三区四区 | 久久91亚洲人成电影网站 | 国产亚洲精品久久久久久久久 | 草草在线观看 | 国产青草视频在线观看 | 久草干 | 日本欧美一区二区三区视频麻豆 | 欧美成人精品欧美一级 | 欧美精品成人一区二区三区四区 | 一级免费a | 精品国产91久久久久 | 欧美成年人视频 | 国产做爰| 免费观看又色又爽又黄的崩锅 | 成人做爽爽爽爽免费国产软件 | 久久里面有精品 | 日韩视频―中文字幕 | 欧美成人高清视频 | 黄色一级片免费在线观看 | 国产精品久久久久久久久久东京 |