JavaScript对象的常用函数
2016-05-04 21:48
459 查看
/** * * 把p中可枚举的的属性复制到o中,并返回o * 如果o和p中含有同名属性,则覆盖o中的属性。 * 这个函数并不处理getter和setter以及复制属性 * */ function extend(o, p) { for (prop in p) { o[prop] = p[prop]; } return 0; } /** * 将p中的可枚举属性复制到o中,并返回o * 如果o和p中有同名的属性,o中的属性将不受影响 * 这个函数并不处理getter和setter以及复制属性 */ function merge(o, p) { for (prop in p) { if (o.hasOwnProperty[prop]) continue; //如果o已经有这个属性 o[prop] = p[prop]; } return o; } /** * 如果o中的属性在p中没有同名属性,则从o中删除这个属性 * 返回o */ function 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]; } return o; } /** * 返回一个新对象,这个对象同时拥有o的属性和p的属性 * 如果o和p中有重名属性,使用p的属性值 */ function union(o, p) { return extend(extend({}, o), p); } /** * 返回一个新对象,这个对象拥有同时在o和p中出现的属性 * 很像o和p的交集,但p中属性的值被忽略 */ function intersection(o, p) { return restrict(extend({}, o), p) } /** * 返回一个数组,这个数组包含的是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; }
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- Python动态类型的学习---引用的理解
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解