JS 对象复制Object.assign和Object.create
来源:互联网 发布:计算机二级c语言好考吗 编辑:程序博客网 时间:2024/06/06 01:42
Object.create
简介
创建一个拥有指定原型和若干指定属性的对象。多用于对象继承。
语法
Object.create(prototype,[proptertiesObject])
参数
- 第一个参数 一个对象,最为新创建对象的原型或者为null;
- 可选,该参数的对象拥有一组属性和值,改对象的属性名称和值将会复制给新创建的对象,只有该对象自身拥有的可枚举属性才有效,也就是说该对象的原型链上的属性不会复制给新创建的对象。
抛出异常
如果该对象的第一个参数不是不是一个对象或者null,将会抛出一个TypeError异常。
示例1
function Fn(){ var a = 3; var b = 4; this.c = 5; this.b = 6;}Fn.prototype.log1 = function(){ console.log(this.a,this.b);}Fn.prototype.log2 = function(){ console.log(this.c,this.b);}function Fn1(){ Fn.call(this); //访问构造函数}//继承 Fn 的原型链,Fn相当于Fn1的父类了Fn1.prototype = Object.create(Fn.prototype);var fn1 = new Fn1();fn1 instanceof Fn //truefn1 instanceof Fn1 //ture// a 和 b,没有挂载到fn的原型链上,所以无法访问// a 和 b,相当于是 fn 函数作用域下的局部变量,外部无法访问。fn.log1(); //undefined undefinedfn1.log1(); //undefined undefined// b 和 c,挂载到了fn的原型链上,所以可以用this访问fn.log2(); // 5 6fn1.log2();// 5 6
0 0
- JS 对象复制Object.assign和Object.create
- JS中的Object.assign()、Object.create()、Object.defineProperty()
- JavaScript 复制对象【Object.assign方法无法实现深复制】
- js object对象赋值bug和对象复制clone方法
- 创建对象Object.Create
- [js]object.create图解
- deepClone, extend, 深克隆对象和Object.assign(ES6)
- Object.assign()
- Object.assign
- Object.assign()
- Object.assign()
- Object C 复制对象
- 创建对象(Create Object)
- es6 javascript对象方法Object.assign()
- es6 javascript对象方法Object.assign()
- es6 javascript对象方法Object.assign()
- JavaScript 对象拷贝与Object.assign
- ES6-对象的扩展-Object.assign()
- android五大布局
- 1022. D进制的A+B (20)
- 还不算太迟吧
- linux上搭建maven+nexus私人仓库
- 类型模板形参
- JS 对象复制Object.assign和Object.create
- 我说这博客不能换个名字嘛
- Android Studio出现Failed to open zip file问题的解决方法
- Python自定义函数的创建、调用和函数的参数详解
- mfc读写串口的数据
- 面试-大量数据的解决办法
- JS 删除操作 delete
- c++中获取小数点后面小数的方法
- 微生物增殖