JavaScript中实现extend()方法
2024-10-16 00:53:20
var male = { sex: "male" }; var xiaoming = { name: "xiaoming", school: "xinhua" }; Object.defineProperty(Object.prototype, "extend", { writable: true, enumrable: false, configurable: true, value: function(o) { // 得到所有的自有属性,包括不可枚举属性; var names = Object.getOwnPropertyNames(o); // 遍历它们 for(var i = 0, len = names.length; i < len; i++) { // 如果属性已存在,则跳过; if(names[i] in this) { continue; } // 获得o中的属性的描述符 var desc = Object.getOwnPropertyDescriptor(o, names[i]); // 用它给this创建一个属性 Object.defineProperty(this, names[i], desc); } } }); xiaoming.extend(male); console.log(xiaoming);
最新文章
- com/android/dx/command/dexer/Main : Unsupported major.minor version 52.0
- 新浪ip地址转换接口
- Win7 64位qt-windows-x86-msvc2015-5.6.0 DLL依赖库打包
- Java中Comparable和Comparator区别小结
- iOS多线程编程之Grand Central Dispatch(GCD)介绍和使用
- 设计模式--代理(Proxy)模式
- 解决php configure: error: Cannot find ldap libraries in /usr/lib.错误
- Linux环境下实现管道通信-问题
- SOAP+WSDL
- mvc:annotation-driven&#39; must have no character or element问题
- WPF: 深入理解 Weak Event 模型
- 【BZOJ3573】【HNOI2014】米特运输
- [ Java面试题 ]算法篇
- springboot+mybatis+dubbo+aop日志终结篇
- Navicat Premium 连接oracle ORA-01017:用户名/口令无效;登陆被拒绝
- Golang的channel使用以及并发同步技巧
- nginx启动重启与升级以及检测配置文件
- ELK安装部署
- centOS7下实践查询版本/CPU/内存/硬盘容量等硬件信息
- win10找回Windows照片查看器
热门文章
- 利用Python进行数据分析(8) pandas基础: Series和DataFrame的基本操作
- [未完成]scikit-learn一般实例之九:用于随机投影嵌入的Johnson–Lindenstrauss lemma边界
- 基于NodeJS微信公众号
- js正则表达式校验非负浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
- linux中字体的安装以及Terminal字体重叠问题解决
- php中抽象类与接口的概念以及区别
- 批量处理sql 数据存入xml类型列
- file命令
- Linux安装xwindow图形界面(转载)
- Android中使用Notification实现普通通知栏(Notification示例一)