2016-10-18 58 views
0

我刚刚花了很长时间试图找到下面的代码的问题。脚本没有在JavaScript中打印错误Chrome控制台

事实证明,由于调用了addRoute的上下文,因此keys()未返回结果对象的键。为了解决这个问题,我不得不使用Object.keys(),尽管它在JavaScript控制台中没有问题(后来我意识到这是因为上下文)。

我的问题是,为什么没有显示在我的JavaScript控制台?我花了很长时间才意识到(我裁剪了完整的代码,实际功能更大)。

错,但在控制台中没有错误:

Map.prototype.addRoute = function (results) { 
    var sectionsIDs = keys(results); 
} 

正确

Map.prototype.addRoute = function (results) { 
    var sectionsIDs = Object.keys(results); 
} 

回答

3

你的第一个函数使用keys console API function

那 “Command Line API Reference” 页面包括警告:

注:此API只能从控制台本身。您无法从页面上的脚本访问命令行API。

因此,keys功能仅在直接在控制台上运行的代码中存在。

浏览器为您提供有关keys功能是一个唯一的控制台功能,如果您在控制台中查看它的一小提示:

> keys 
function keys(object) { [Command Line API] } 
相关问题