题目
请补全JavaScript代码,要求实现对象参数的深拷贝并返回拷贝之后的新对象。
注意:
1. 参数对象和参数对象的每个数据项的数据类型范围仅在数组、普通对象({})、基本数据类型中]
2. 无需考虑循环引用问题
编辑
核心代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>寄生组合式继承</title> </head> <body> <!-- 在"Human"构造函数的原型上添加"getName"函数 在”Chinese“构造函数中通过call函数借助”Human“的构造器来获得通用属性 Object.create函数返回一个对象,该对象的__proto__属性为对象参数的原型。 此时将”Chinese“构造函数的原型和通过Object.create返回的实例对象联系起来 最后修复"Chinese"构造函数的原型链,即自身的"constructor"属性需要指向自身 在”Chinese“构造函数的原型上添加”getAge“函数 --> <script type="text/javascript"> // 补全代码 function Human(name) { this.name = name this.kingdom = 'animal' this.color = ['yellow', 'white', 'brown', 'black'] } Human.prototype.getName = function () { return this.name } function Chinese(name, age) { Human.call(this, name) this.age = age this.color = 'yellow' } Chinese.prototype = Object.create(Human.prototype) Chinese.prototype.constructor = Chinese Chinese.prototype.getAge = function () { return this.age } </script> </body> </body> </html>