JS将所有对象s的属性复制给对象r(原生js+jquery)

内容摘要
原生写法:
复制代码 代码如下:/** * 将所有 s 的属性复制给 r * @param r {Object} * @param s {Object} * @param is_overwrite {Boolean} 如指定为 false ,则不覆盖
文章正文

原生写法:

复制代码 代码如下:

/**
   * 将所有 s 的属性复制给 r
   * @param r {Object}
   * @param s {Object}
   * @param is_overwrite {Boolean} 如指定为 false ,则不覆盖已有的值,其它值
   *   包括 undefined ,都表示 s 中的同名属性将覆盖 r 中的值
   */
  mix: function (r, s, is_overwrite) { //TODO:
   if (!s || !r) return r;

   for (var p in s) {
    if (is_overwrite !== false || !(p in r)) {
     r[p] = s[p];
    }
   }
   return r;
  }

jQuery写的话就太方便了

复制代码 代码如下:

var a={
        aa:1,
        ab:2
    };
var b={
        ba:1,
        bb:2
    };

    $.extend(a,b);
    console.info(a);


代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!