本帖最后由 athlan20 于 2014-06-06 17:07:59 编辑

解决方案 »

  1.   

    好像这里面数组arr是引用型  后面用它和自己用它共用了一块内存这样执行js需要安装什么?
      

  2.   

    公用一块内存的话,你可以试试console.log(arr); 这里面只有1个元素需要安装nodejs
      

  3.   

    装个调试器,看看那条链。看懂链后,想想console.log里面是一些什么内容。
      

  4.   

    node.js不懂。。浏览器的解析是正常的。。
      

  5.   

    http://blog.csdn.net/xiaohulunb/article/details/28965347最近研究中,貌似很绕口。慢慢理解吧
      

  6.   


    对的,我发现浏览器里显示正常的......但是nodejs 输出竟然不一样.....
      

  7.   


    我困惑的是,arr.push(1)之后会影响到as的length+1,我认为这种解释不太靠谱,毕竟是原型链里的push应该不会影响到子对象的属性,
    所以我这里觉得一个解释就是 当调用as.length的时候,他会去重新计算一遍元素个数,而在计算length的时候会去向上查找到原型链里的元素,不知道是不是我这种解释,但是如果是这种解释,那每次调用length都要重新计算一遍长度,这貌似跟别的语言的数组不太一样.....
      

  8.   

    结贴啦
    http://www.dewen.org/q/16828/js%E5%85%B3%E4%BA%8Eprototype%E7%9A%84%E4%B8%80%E7%82%B9%E7%96%91%E6%83%91这里的提问我得到了满意的答复,有兴趣的,可以去看看