小乾500 2021-09-29 16:58 采纳率: 0%
浏览 42

这输出直接给我整懵了

img

第14行执行后,第16行的输出里有个c=3我能理解
但是第15行执行后,第18行应该是-1,但还是1

假如这样理解:第15行是新建立了一个obj变量,并且给它赋值
那么与它相似的第14行怎么就可以改变原来的obj呢
(不知道理解的对不对,请求指点)

  • 写回答

2条回答 默认 最新

  • Alice_czy 2021-09-30 10:09
    关注

    这一块概念确实很绕,你得好好看看原型和原型链,知道概念也很容易出错
    每个函数都有一个prototype属性指向其原型,每一个对象都有一个__proto__属性指向创建该对象的构造函数,对象可以通过__proto__访问到该对象上不存在的属性,这样链接起来的方式就是原型链。
    本例子中,F()是一个构造函数,他的原型指向的是obj.proto,f 是通过F()实例化出来的,f.proto 就指向 F()的原型, 14行obj.proto 和 15行不是同一个,F()原型指向的不是同一个

    评论

报告相同问题?

问题事件

  • 创建了问题 9月29日

悬赏问题

  • ¥15 求解决扩散模型代码问题
  • ¥15 工创大赛太阳能电动车项目零基础要学什么
  • ¥20 limma多组间分析最终p值只有一个
  • ¥15 nopCommerce开发问题
  • ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
  • ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
  • ¥15 pycharm输出和导师的一样,但是标红
  • ¥15 想问问富文本拿到的html怎么转成docx的
  • ¥15 我看了您的文章,遇到了个问题。
  • ¥15 GitHubssh虚拟机连接不上