0

如果我使用第一种表示法,控制台将记录名称,但在第二种表示法中,它会输出“JS Bin output”,知道发生了什么吗?

让人={name:'弗雷德',sayMyName:函数(参数){返回(this.name);},};设obj=人;person=空;让sayMyName=obj.sayMyName;console.log(obj.sayMyName());//日志`Fred`console.log(sayMyName());//日志`JS Bin输出`

8
  • 打电话说我的名字();将记录窗口名称(这似乎是StackOverflow代码段中的某种uuid),而不是未定义。在严格模式下,它将抛出无法访问未定义的属性名例外。尝试let sayMyName=obj.sayMyName.bind(个人); 评论 2022年1月25日10:34
  • 请注意我代码中的更改 评论 2022年1月25日11:13
  • 你为什么取消? 评论 2022年1月25日11:50
  • 如果我删除那行,我不会得到同样的输出吗? 评论 2022年1月25日13:19
  • 是的,这就是我问的原因。你在那里指定null的想法是什么? 评论 2022年1月25日13:34

0

重置为默认值

浏览标记的其他问题问你自己的问题.