国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > JS > 正文

Javascript 對(duì)象(object)合并操作實(shí)例分析

2024-05-06 16:53:50
字體:
供稿:網(wǎng)友

本文實(shí)例講述了Javascript 對(duì)象(object)合并操作。分享給大家供大家參考,具體如下:

對(duì)象的合并

需求:設(shè)有對(duì)象 o1 ,o2,需要得到對(duì)象 o3

var o1 = { a:'a' }, o2 = { b:'b' };// 則var o3 = { a:'a', b:'b' }

方法1:使用JQuery的extend方法

  •         **方法定義**:jQuery.extend([deep], target, object1, [objectN])
  •         > 用一個(gè)或多個(gè)其他對(duì)象來擴(kuò)展一個(gè)對(duì)象,返回被擴(kuò)展的對(duì)象。
  •         > 如果不指定target,則給jQuery命名空間本身進(jìn)行擴(kuò)展。這有助于插件作者為jQuery增加新方法。 如果第一個(gè)參數(shù)設(shè)置為true,則jQuery返回一個(gè)深層次的副本,遞歸地復(fù)制找到的任何對(duì)象(遞歸合并)。否則的話,副本會(huì)與原對(duì)象共享結(jié)構(gòu)。 未定義的屬性將不會(huì)被復(fù)制,然而從對(duì)象的原型繼承的屬性將會(huì)被復(fù)制。
o3 = $.extend(o1, o2) // 合并 o1 和 o2, 將結(jié)果返回給 o3. 注意: 此時(shí),o1 == o3! 即 o1 被修改// 或o3 = $.extend({}, o1, o2) // 合并 o1 和 o2, 將結(jié)果返回給 o3. 注意: 此時(shí),o1 != o3! 即 o1 沒有被修改

方法2:用 Object.assign(); 網(wǎng)上找的例子:

var o1 = { a: 1 };var o2 = { b: 2 };var o3 = { c: 3 };var obj = Object.assign(o1, o2, o3);console.log(obj); // { a: 1, b: 2, c: 3 }console.log(o1); // { a: 1, b: 2, c: 3 }, 注意目標(biāo)對(duì)象自身也會(huì)改變。

方法3:遍歷賦值法

代碼邏輯:

  1. 循環(huán)對(duì)象n中的每一個(gè)對(duì)應(yīng)屬性。
  2. 確認(rèn)對(duì)象n中存在該屬性
  3. 確認(rèn)對(duì)象o中不存在該屬性
var extend=function(o,n){  for (var p in n){    if(n.hasOwnProperty(p) && (!o.hasOwnProperty(p) ))      o[p]=n[p];  }};  

類似于直接賦值增加屬性:

o3=o1;o3['b']='b';// o3 ={ o1:'a', o2:'b' };

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JavaScript/Ajax教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 秀山| 拉萨市| 清原| 贵南县| 邻水| 内乡县| 通渭县| 七台河市| 伊宁市| 望奎县| 连江县| 新泰市| 四会市| 麻城市| 夏津县| 资溪县| 济阳县| 双辽市| 元江| 巴东县| 荔波县| 皋兰县| 巢湖市| 延庆县| 全南县| 凌海市| 宁乡县| 潢川县| 兴化市| 大石桥市| 宁陵县| 丰台区| 司法| 栾川县| 潮安县| 淮南市| 屯昌县| 新巴尔虎右旗| 盈江县| 堆龙德庆县| 连平县|