yishuixs 2015-08-22 07:03 采纳率: 50%
浏览 1520
已采纳

关于javascript原型对象的一些问题

如下一个原型对象:

 function Box(){}
 Box.prototype.name = 'Programmer';
 Box.prototype.method = function(){
     return this.name;
 };

 var box = new Box();

1、box对象的原型属性__proto__访问的是原型对象prototype还是原型对象的constructor属性?
2、通过box.method()可以访问原型对象的method方法,通过box.__proto__.method()也可以访问,这两种方式的区别是什么?访问原型的属性和方法该用哪种方式?
3、构造函数Box的原型对象是Box.prototype吗?
4、原型对象存储在哪里?请细说一下详细的过程
5、实例对象的原型对象的__proto__指向哪里?如果存在这个对象,那么这个对象的__proto__又指向哪里?
6、构造函数Box的__proto__指向哪里?如果存在这个对象,那么这个对象的__proto__又指向哪里?

  • 写回答

2条回答 默认 最新

  • 雪狸 2015-08-24 10:02
    关注
    1. box.__proto__ == Box.prototype ; //true
    2. box.method = 12; box.method == 12;//true; box.__proto__.method == 12;//false;

    box.__proto__.method = 1212;
    box.method == 1212;//false;
    box.method == 12;//true;
    box.__proto__.method == 1212;//true
    Box.prototype.method == 1212;//true

    1. 5. 6. 请查看下图: 图片说明
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?