yishuixs 2015-08-22 07:03 采纳率: 100%
浏览 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条)

报告相同问题?

悬赏问题

  • ¥15 echarts动画效果失效的问题。官网下载的例子。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加