欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解JS數(shù)據(jù)類(lèi)型的值拷貝函數(shù)(深拷貝)

 更新時(shí)間:2017年07月13日 08:42:08   作者:九轉(zhuǎn)十指  
這篇文章主要介紹了詳解JS數(shù)據(jù)類(lèi)型的值拷貝函數(shù)(深拷貝)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

廢話不多說(shuō)了,直接給大家貼代碼了,具體代碼如下所示:

function mottoClone (obj) {
 if (obj === null || typeof obj !== 'object') return obj;
 if (obj instanceof Boolean) return new Boolean(obj.valueOf());
 if (obj instanceof Number) return new Number(obj.valueOf());
 if (obj instanceof String) return new String(obj.valueOf());
 if (obj instanceof RegExp) return new RegExp(obj.valueOf());
 if (obj instanceof Date) return new Date(obj.valueOf());
 var cpObj = obj instanceof Array ? [] : {};
 for (var key in obj) cpObj[key] = myClone(obj[key]);
 return cpObj;
}

支持的數(shù)據(jù)類(lèi)型或格式有:Boolean,Number,String,RegExp,Date,Function,Array,JSON

支持深拷貝(循環(huán)迭代),如:

var obj = {
 id: 1,
 name: 'xxx',
 sayName: function () {
  console.log('my name is' + this.name);
 },
 childs: [
  {}, 
  {}, 
  ...
 ],
 opts: {
  xxx: [],
  ...
 },
 ...
};
var newObj = mottoClone(obj);

以上所述是小編給大家介紹的JS數(shù)據(jù)類(lèi)型的值拷貝函數(shù)(深拷貝),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論