首页 > 解决方案 > 控制台中奇怪的 JS 行为

问题描述

在我的 JS 脚本中(在一个简单的 html 页面内),我有一个使用console.log(subs). 在开发控制台中,我看到的subs是:

> Object { topic: "hgm_giuse/#", qos: 2 }

但是,如果单击左侧的箭头以展开对象,我会看到:

{…}​
  qos: 128​
  topic: "hgm_giuse/#"​
  <prototype>: Object { … }

“128”从何而来?

标签: javascript

解决方案


该对象刚刚在第一个 console.log 之后被修改!

您可以在开发工具控制台中重现它:

a = {b: 12}
console.log(a) -> {b: 12}
a.b = 24;
console.log(a) -> {b: 24}

当您现在展开第一个注销的对象时,它也会显示 24,因为它只是对 a 的引用 :-)


推荐阅读