枚举属性

本文介绍了一组实用的JavaScript函数,包括对象扩展、合并、限制、减法等操作,并提供了原型继承、获取对象可枚举属性等方法。这些函数可以帮助开发者更高效地处理JavaScript对象。
/*
 * 这是一张 JavaScript 代码草稿纸。
 *
 * 输入一些 JavaScript,然后可点击右键或从“执行”菜单中选择:
 * 1. 运行 对选中的文本求值(eval) (Ctrl+R);
 * 2. 查看 对返回值使用对象查看器 (Ctrl+I);
 * 3. 显示 在选中内容后面以注释的形式插入返回的结果。 (Ctrl+L)
 */


function extend(o,p){
  for(prop in p){
    o[prop]=p[prop];
  }
  return o;
}

function merge(o,p){
  for(prop in p){
    if(o.hasOwnProperty[prop]) continue;
    o[prop]=p[prop];
  }
  return o;
}

/*
*如果o中的属性在p中没有同名属性,则从o中删除这个属性,返回o
*/
functon restrict(o,p){
  for(prop in o){
    if(!(prop in p)) delete o[prop];
  }
  return o;
}

/*
*如果o中的属性在p中有同名属性,则从o中删除这个属性,返回o
*/
function subtract(o, p) {
  for (prop in p) {
    delete o[prop];//删除一个不存在的属性不会报错
  }
}

/*
*通过原型继承创建一个新对象
*/
function inherit(p){
  if(p==null) throw TypeError();
  if(Object.create)
    return Object.create(p);
  var t=typeof p;
  if(t!=="object"&&t!=="function")throw TypeError();
  function f(){};
  f.prototype=p;
  return new f();
}

/*
*返回一个数组,这个数组包含的是o中可枚举的自有属性的名字
*/
function keys(o){
  if(typeof o !=="object")throw TypeError();
  var result=[];
  for(var prop in o){
    if(o.hasOwnProperty(prop))
      result.push(prop);
  }
  return result;
}

转载于:https://my.oschina.net/u/3238650/blog/896258

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值