javascript - 未捕获的ReferenceError:未定义键

use*_*962 30 javascript

我在包含的脚本中运行以下命令时收到错误.但是,如果我从谷歌Chrome控制台运行该命令,它可以正常工作.

var a = {};
console.log(keys(a));
Run Code Online (Sandbox Code Playgroud)

错误:

 Uncaught ReferenceError: keys is not defined 
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?如何keys在包含的脚本中使用该功能?

Ale*_*yne 38

console.log(keys(a))
Run Code Online (Sandbox Code Playgroud)

keys()不是浏览器提供的用于代码的功能.你可能想要Object.keys()

a = {};
console.log(Object.keys(a));
Run Code Online (Sandbox Code Playgroud)

有时控制台有额外的功能,以便于使用调试,这在实际代码中是不可用的.keys()听起来像一个,copy('some text')是另一个.

遗憾的是,我没有找到列出它们的链接.但我确信不仅仅有这两个功能.

  • 我同意这个问题是建设性的.我没有做很多Javascript,只是有这个完全相同的问题.也就是说,"为什么我在2秒前在Chrome调试器中调试我的代码时,在键功能上出现此错误?" 现在我知道了. (6认同)