js的拷貝繼承的兩種方式
阿新 • • 發佈:2018-12-09
要點:
1.通過改變新例項物件的指標指向被繼承的例項物件的地址,達到繼承的效果
2.通過遍歷複製前一個物件的屬性和方法達到拷貝的效果
程式碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script type="text/javascript"> var obj1 = { name:"陳小帥", show:function(){ console.log("陳小帥帥的不行"); } } var obj2 = obj1; // 直接把obj2的指標指向obj1的記憶體空間,達到拷貝的目的 console.log(obj2.name); obj2.show(); // 上面一種,通過把obj2的指標指向obj1的記憶體達到拷貝的效果 // 下面一種,通過遍歷複製前一個物件的屬性和方法達到拷貝的效果 function Person(){ } Person.prototype.qq = 3199578835, Person.prototype.show = function(){ console.log("you are so cool"); } var obj3 = new Person; for(var key in Person.prototype){ obj3[key] = Person.prototype[key]; } // 將Person物件中的每次屬性或方法遍歷複製到obj3中 console.log(obj3.qq); obj3.show(); </script> </body> </html>
控制檯: