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

Javascript 對象(object)合并操作實例分析

 更新時間:2019年07月30日 11:36:42   作者:yes_V_can  
這篇文章主要介紹了Javascript 對象(object)合并操作,結(jié)合實例形式分析了javascript基于jQuery的extend方法、對象屬性、遍歷賦值等操作實現(xiàn)對象合并相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下

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

對象的合并

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

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

方法1:使用JQuery的extend方法

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

方法3:遍歷賦值法

代碼邏輯:

  1. 循環(huán)對象n中的每一個對應(yīng)屬性。
  2. 確認(rèn)對象n中存在該屬性
  3. 確認(rèn)對象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' };

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具http://tools.jb51.net/code/HtmlJsRun測試上述代碼運(yùn)行效果。

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

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

相關(guān)文章

  • JavaScript Archive Network 集合

    JavaScript Archive Network 集合

    JavaScript Archive Network 集合...
    2007-05-05
  • javascript實現(xiàn)簡單下拉菜單效果

    javascript實現(xiàn)簡單下拉菜單效果

    這篇文章主要為大家詳細(xì)介紹了javascript實現(xiàn)簡單下拉菜單效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一
    2022-08-08
  • Js調(diào)用Java方法并互相傳參的簡單實例

    Js調(diào)用Java方法并互相傳參的簡單實例

    下面小編就為大家?guī)硪黄狫s調(diào)用Java方法并互相傳參的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • Bootstrap樹形控件使用方法詳解

    Bootstrap樹形控件使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了Bootstrap樹形控件使用方法,感興趣的小伙伴們可以參考一下
    2016-01-01
  • 微信小程序template模板與component組件的區(qū)別和使用詳解

    微信小程序template模板與component組件的區(qū)別和使用詳解

    這篇文章主要介紹了微信小程序template模板與component組件的區(qū)別和使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • 基于JavaScript實現(xiàn)隨機(jī)點(diǎn)名器

    基于JavaScript實現(xiàn)隨機(jī)點(diǎn)名器

    這篇文章主要介紹了基于JavaScript實現(xiàn)隨機(jī)點(diǎn)名器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • 面向切面編程(AOP)的理解

    面向切面編程(AOP)的理解

    這篇文章主要介紹了面向切面編程(AOP)的理解,需要的朋友可以參考下
    2015-05-05
  • js定時器不準(zhǔn)確問題的解決方法

    js定時器不準(zhǔn)確問題的解決方法

    本文主要介紹了js定時器不準(zhǔn)確問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • moment.js使用超詳細(xì)教程

    moment.js使用超詳細(xì)教程

    Moment.js是一個輕量級的JavaScript時間庫,它方便了日常開發(fā)中對時間的操作,提高了開發(fā)效率下,本文給大家介紹moment.js使用超詳細(xì)教程,感興趣的朋友跟隨小編一起看看吧
    2023-10-10
  • 如何使用瀏覽器擴(kuò)展篡改網(wǎng)頁中的JS?文件

    如何使用瀏覽器擴(kuò)展篡改網(wǎng)頁中的JS?文件

    這篇文章主要為大家介紹了如何使用瀏覽器擴(kuò)展篡改網(wǎng)頁中的JS文件實現(xiàn)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05

最新評論