一般来说使用构造函数时一般特征存为属性,行为存为方法;公用部分存在原型中节省内存;于是就遇见一些需要继承的问题。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>拷贝继承</title>
</head>
<body>
<script>
//拷贝继承:毕业对象中的属性或者方法直接复制到另一个对象中
// var obj1 = {
// name:"荀彧",
// age:80,
// sleep:function(){
// console.log("长眠");
// }
// }
// var obj2 = obj1;
// console.log(obj2.name,obj2.age);
// obj2.sleep();
//或者
// var obj2 = {};
// for(var key in obj1){
// obj2[key] = obj1[key];
// }
// console.log(obj2.name,obj2.age);
// obj2.sleep();
function Person(){
}
Person.prototype.age = 10;
Person.prototype.name = "狗子";
Person.prototype.height = 170;
Person.prototype.play = function(){
console.log("梦幻西游")
};
var obj2 = {};
//Person的构造中有原型prototype,prototype就是一个对象,那么里面的age,neme,heiget,play都是他的属性或方法
for(var key in Person.prototype){
obj2[key] = Person.prototype[key];
}
console.log(obj2);
</script>
</body>
</html>