美文网首页
简单模拟实现js的new操作符

简单模拟实现js的new操作符

作者: xiao_afei | 来源:发表于2021-11-12 10:35 被阅读0次
    function CreateStudent(name) {
      this.name = name
    }
    
    let student = new CreateStudent('xiaoming')
    
    function selfNew () {
      console.log(arguments[0])
      // 获取函数
      const Func = arguments[0]
      // 获取函数参数
      const params = Array.prototype.slice.call(arguments, 1)
      // 创建新的对象构造函数的原型挂载到新对象上
      let self = Object.create(Func.prototype)
      // 执行原来的函数进行初始化操作
      Func.apply(self, params)
      // 返回新的对象
      return self
    }
    console.log(student, selfNew(CreateStudent, '小明'))
    

    运行效果图:


    image.png

    相关文章

      网友评论

          本文标题:简单模拟实现js的new操作符

          本文链接:https://www.haomeiwen.com/subject/xiwnzltx.html