当前位置:网站首页>Object.create()原理,Object.create()规范,手写Object.create(),Object.create()用法
Object.create()原理,Object.create()规范,手写Object.create(),Object.create()用法
2022-04-23 06:18:00 【十九(一拖再拖)】
1:Object.create()用法
使用现有对象创建包含它的新对象,将该对象分配给新对象的原型上。
let obj = {
name:'anny'
}
let newObj = Object.create(obj);
console.log(newObj.name). //输出:anny
注意清单:
- 第一个参数只能是Object类型或者null,否则会报错
- 第二个参数是可选的,类似于 Object.defineProperties 的第二个参数。
let obj = {
name:'anny'
}
let newObj = Object.create(obj,{
name:{
value:"tony",
writable:true //是否可写
}
});
console.log(newObj.name) //输出tony
2:Object.create()原理规范
2.1:规范
- 判断是否为Object或者null
- 创建一个新对象
- 将新对象的原型指向传入的对象
- 判断第二个参数Properties为真
- 返回新创建的对象
2.2:实现
function myCreate(obj,Properties){
//判断是否为Object或者null
if(!(obj instanceof Object)&&obj!==null){
throw TypeError
}
//创建一个新对象(等价于new Object())
let newObj = {
}
//将新对象的原型指向传入的对象
newObj.__proto__ = obj;
//如果第二个参数Properties为真
if(Properties&&Properties!==undefined){
Object.defineProperties(newObj,Properties)
}
//返回新创建的对象
return newObj;
}
未经本人同意请勿转载
版权声明
本文为[十九(一拖再拖)]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_41974199/article/details/123647123
边栏推荐
- 自定义classloader并实现热部署-使用loadClass
- 华为云MVP邮件
- 网络层重要知识(面试、复试、期末)
- Unable to determine the device handle for GPU 0000:02:00.0: GPU is lost.
- 不需要破解markdown编辑工具Typora
- 无盲区、长续航|公专融合对讲机如何提升酒店服务效率?
- excel实战应用案例100讲(八)-Excel的报表连接功能
- quill-editor图片缩放、在一个页面使用多个富文本框、quill-editor上传图片地址为服务器地址
- GIS实战应用案例100篇(五十二)-ArcGIS中用栅格裁剪栅格,如何保持行列数量一致并且对齐?
- 字节跳动2020秋招编程题:根据工号快速找到自己的排名
猜你喜欢
可视化之路(九)Arrow类详解
【无标题】PID控制TT编码器电机
免费开源农业物联网云平台(Version:3.0.1)
免费开源智能充电桩物联网SAAS云平台
AUTOSAR从入门到精通100讲(八十四)-UDS之时间参数总结篇
The people of Beifeng have been taking action
Tensorflow安装后ImportError: DLL load failed: 找不到指定的模块,且国内安装缓慢
重大安保事件应急通信系统解决方案
AUTOSAR从入门到精通100讲(五十二)-诊断和通信管理功能单元
How to improve the service efficiency of the hotel without blind spots and long endurance | public and Private Integrated walkie talkie?
随机推荐
AUTOSAR从入门到精通100讲(八十四)-UDS之时间参数总结篇
USO technology was invited to share the technical framework and challenges of AI synthetic virtual characters at lvson2020 conference
关于短视频平台框架搭建与技术选型探讨
AUTOSAR从入门到精通100讲(八十七)-高级EEA的关键利器-AUTOSAR与DDS
利用mysql-binlog恢复数据
江宁医院DMR系统解决方案
北峰通信助力湛江市消防支队构建PDT无线通信系统
Typora操作技巧说明(一)
Pep517 error during pycuda installation
Wireless communication system for large-scale sports events
通过sparksql读取presto中的数据存到clickhouse
AUTOSAR从入门到精通100讲(八十一)-AUTOSAR基础篇之FiM
golang实现MD5,SHA256,bcrypt加密
Metro wireless intercom system
Are realrange and einsum really elegant
基于open mv 搭配stm32循迹
el-date-picker中自定义快捷选项picker-options,动态设置禁用日期
带低压报警的51单片机太阳能充电宝设计与制作(完整代码资料)
hql求一个范围内最大值
go语言切片操作