桂月悠夜 2022-07-07 17:42 采纳率: 100%
浏览 17
已结题

__proto__ 和 prototype返回false

    原本是想看这个值相等的,(正在学)

```javascript
        <script>
            function mc() {}
            
            var  test_prototypes=new mc();
            var t=new mc();
            
            alert(t.prototype);
            alert(t.__proto__);
            
            alert(t.__proto__==t.prototype);
            alert(test_prototypes.__proto__===test_prototypes.prototype);
            
            
        </script>


但无论用哪个我这里的返回值都是false

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/74798868175618.png "#left")

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/008729681756158.png "#left")
  • 写回答

1条回答 默认 最新

  • 天际的海浪 2022-07-07 20:13
    关注

    类(也就是构造函数)mc才有 prototype 属性,实例对象没有 prototype 属性
    实例对象test_prototypes的 t 才有 __proto__ 属性,类(也就是构造函数)没有 __proto__ 属性
    实例对象的 __proto__ 会等于,创建实例对象的类(也就是构造函数)的prototype

            function mc() {}
            
            var  test_prototypes=new mc();
            var t=new mc();
            
            alert(mc.prototype);
            alert(t.__proto__);
            
            alert(t.__proto__==mc.prototype);
            alert(t.__proto__===test_prototypes.__proto__);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 7月16日
  • 已采纳回答 7月8日
  • 创建了问题 7月7日