js中继承的三种实现形式

1.混入式继承 : 遍历父对象的成员,添加到子对象中
特点 : 每继承一次,就要写一次循环
应用场景 : 用于单个对象继承
2.替换原型:将父元素 作为 子对象构造函数的原型
特点:子对象默认的原型会被覆盖
应用场景:适应于 多个对象继承
3.混合式:混入式+替换原型
解决方案:遍历父元素成员,添加给子元素的原型
不会覆盖原本的原型


```javascript
 //父对象
        var wjl = {
            house: {
                address: '别墅',
                price: 100000000
            },
            car: {
                brand: '兰博基尼',
                price: 200000
            }
        }
      //子对象
        var wsc = {
            gfs: ['林狗', '红红']
        }
      //1、混入式继承
         for(var key in wjl){
            wsc[key]=wjl[key];
        }
      //2、替换原型
      function sonWang(name,gfs){
      this.name=name;
      this.gfs=gfs;
       }
      //子对象构造函数的原型
        sonWang.prototype.type='富二代';
       //修改父元素为sonWang的原型
        sonWang.prototype=wjl;
       //手动修改constructor的指向
       sonWang.prototype.constructor=sonWang;
       var s1=new sonWang('思聪',['一一','慧慧']);
        
      //3、混合式
      function sonWang(name, gfs) {
            this.name = name;
            this.gfs = gfs;
        }
        //子对象原型
        sonWang.prototype.type = '富二代';
        //给子元素原型动态添加成员
        for (var key in wjl) {
            sonWang.prototype[key] = wjl[key];
        }

        var s1 = new sonWang('水水', ['辉辉', '代码', '如花']);
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020071619250076.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80OTIwNzc1OQ==,size_16,color_FFFFFF,t_70)
加油鸭!!!!!!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 Node.js 的 `stream` 模块来实现将本地文件以流的形式传给主进程,并且将所有流的数据合并。 首先,在主进程创建一个可写流(`Writable Stream`)来接收所有流的数据并且合并: ```javascript const { Writable } = require('stream'); const writableStream = new Writable({ write(chunk, encoding, callback) { process.stdout.write(chunk); callback(); } }); ``` `Writable` 类是一个抽象类,我们需要通过继承实现 `write` 方法来创建一个可写流。在这个例子,我们简单地将每个数据块(`chunk`)输出到标准输出流(`stdout`)。 然后,在另一个进程打开本地文件,并且将数据以流的形式传给主进程: ```javascript const fs = require('fs'); const { spawn } = require('child_process'); const childProcess = spawn('cat', ['file.txt']); childProcess.stdout.pipe(writableStream); ``` 在这个例子,我们使用 `fs` 模块的 `createReadStream` 方法来创建一个可读流(`Readable Stream`)来读取本地文件的数据。然后,我们使用 `child_process` 模块的 `spawn` 方法来创建一个子进程,并且执行 `cat` 命令来将文件数据输出到子进程的标准输出流(`stdout`)。最后,我们将子进程的标准输出流(`stdout`)以管道的形式传给主进程的可写流(`writableStream`),这样所有流的数据就会被传给主进程,并且合并输出到标准输出流(`stdout`)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值