美文网首页
__proto__和prototype的本质和区别

__proto__和prototype的本质和区别

作者: 凉城十月 | 来源:发表于2020-07-23 23:28 被阅读0次

    1.prototype的本质

    prototype的本质

    2.全局方法的prototype

    var s = new String('1')
    s.__proto__ === String.prototype
    s.__proto__.__proto__ === Object.prototype
    

    其余的Number和Boolean

    3.__proto__和prototype的区别

    __proto__是有代码之后出现的 --> 对象的属性
    prototype是浏览器本身存在的 --> 函数的属性
    __proto__出现后,指向共有属性的prototype,这两个东西存的地址是相同的

    4.对象.__proto__===函数.prototype

    var s = new String() 这语句可以得出 var 对象 = new 函数() 这个式子

    对象.__proto__ ===函数.prototype,这个式子成立的原因是因为对象是由函数构造的,所以对象的__proto__是指向函数的prototype的。

    从上面的式子我们可以继续推论:

    函数.prototype.__proto__ === Object.prototype
    
    函数.__proto__ === Function.prototype
    

    Function既是函数,也是对象,所以可以的出:

    Function.__proto__ === Function.prototype
    

    所以可以的出:

    Function.prototype.__proto__ === Object.prototype
    

    以上的式子可以推出来的条件建立在 Function的prototype和__proto__都指向同一个对象。

    Function特性

    相关文章

      网友评论

          本文标题:__proto__和prototype的本质和区别

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