| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- /**
- * 构造函数继承
- * 实现:
- * 在子类的构造函数中 用call/apply把父类的this指向修改 指向子类的实例
- * 优点:
- * 父类可以传参
- * 父类的引用数据类型 不同享实例
- * 缺点:
- * 父类原型上的方法 没有被继承
- */
- function Person(x) {
- this.address = x;
- this.name = '图图';
- this.age = 3;
- this.list = ['吃饭', '睡觉', '打豆豆'];
- }
- Person.prototype.say = function () {
- console.log("你好")
- }
- function Child(val) {
- console.log(val,'val')
- // Person.call(this,val)
- Person.apply(this,[val])
- }
- let c1 = new Child('北京');
- let c2 = new Child('哈尔滨');
- c2.list.push("12");
- console.log(c1, 'c1', c1.list)
- console.log(c2, 'c2', c2.list)
- c1.say()
- </script>
- </body>
- </html>
|