我有以下javascript函数:
function test() {
console.log("called");
}
如果我在控制台中输入test();
,我会收到以下错误:
未捕获的ReferenceError:未定义测试(...)
这是一个证明这一点的JS小提琴:
是否无法从控制台调用用户定义的javascript函数?
答案 0 :(得分:0)
你正试图在JSFiddle中这样做,这是"隐藏"你的javascript远离你的控制台。它并不是真正适合您执行的范围。它没有像你假设的那样在那里工作......
如果你创建了一个简单的HTML文件,并在你的标签之间插入了javascript,那么你就不会遇到运行问题" test()"在控制台中。
创建test.html并将其放入:
function test() {
console.log("called");
}

答案 1 :(得分:0)
您未在正确的范围内查看test()
。
一种简单的方法是为load
事件添加断点。以下是:
来源'有一个' Watch'菜单在右边。在观看'在“事件监听器断点”下面的菜单,展开“加载”'类别并勾选“负载”#39;复选框。现在点击'运行'在JSFiddle。
检查员将在小提琴load
的代码中停止执行。
您将看到JSFiddle已将您的JavaScript编写为window.onload
事件处理程序的主体,并且您可以单步执行代码并从控制台执行您的功能。这是因为您的控制台将在由Inspector中突出显示的代码行定义的范围内执行命令。