美文网首页
js new 操作符的原理

js new 操作符的原理

作者: 黎明的叶子 | 来源:发表于2021-11-24 11:15 被阅读0次

见代码

    function _new(fun) {
        let obj = {} 
        // obj.__proto__ = fun.prototype // 由于__proto__属于隐式属性,有的浏览器不能识别这样写 所以用下面写法
        Object.setPrototypeOf(obj, fun.prototype)
        let result = fun.call(obj)
        if(!result) return obj // 排除结果为null的情况
        if(/^(object|function)$/.test(typeof result)) return result //如果函数执行返回的是object和function 那么以结果为准
        return obj
    }

    function Fn() {
        this.name = 'limingyan'
        this.age = 30
        return { a: 100, b: 100 } //返回的是result 即为当前结果
        // return 1  //返回的是obj
    }
    // let fn = new Fn()
    let fn = _new(Fn)
    console.log(fn)

相关文章

  • JS基础回归01:new操作符,原型和原型链

    本篇介绍 new 操作符的背后原理以及 JS 如何依赖原型形成原型链,完成继承。 new 操作符的本质 new 操...

  • 关于 new 操作符

    1. 为什么要有new操作符? JS 的 new 到底是干什么的? 本文指出,new 操作符其实就是个语法糖,用了...

  • 2021-06-19 new操作符的实现

    JavaScript中的new操作符的原理 例子 先定义了一个构造函数Person,然后通过new操作符生成Per...

  • new操作符

    最近在掘金上看到大佬 yck 的文章 重学 JS 系列:聊聊 new 操作符把new操作符的作用,如何自己实现ne...

  • 第14题- new操作符内部实现原理

    面试题目: new 操作符内部实现原理是什么? 答案解析: new 操作符经常被用到,用面向对象语言们通用的观点来...

  • js中的new操作符实现原理

    序言 这是前端进阶的文章,要想知道new的原理,必须深刻理解原型链、js继承的几种方式与及call、apply等相...

  • js面试题--new的原理

    JS中的new操作符 和其他高级语言一样,JS中也有new运算符,我们知道new运算符是用来实例化一个类,从而在内...

  • new操作步骤

    js中的new()到底做了些什么?? 要创建 Person 的新实例,必须使用 new 操作符。以这种方式调用构造...

  • js new操作符

    简单实现 其实new操作符实现还是很简单的,因为Mdn上总共也就是4句话来描述它的作用 创建一个空的简单JavaS...

  • JS手动实现一个new操作

    要手动实现一个 new 操作符,首先要知道 new 操作符都做了什么事,即构造函数的内部原理:1.创建一个新对象;...

网友评论

      本文标题:js new 操作符的原理

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