在 Chrome 的 JavaScript 控制台中,如何调用属于我正在查看的网页中包含的 .js 文件的函数?
从控制台调用 Javascript 函数
IT技术
javascript
function
google-chrome-devtools
developer-tools
2021-03-17 04:39:23
6个回答
如果它在闭包内,我很确定你不能。
否则,您只需执行functionName();
并按回车键即可。
控制台将返回 ReferenceError 的示例是将函数放入 JQuery 文档就绪函数中
//this will fail
$(document).ready(function () {
myFunction(alert('doing something!'));
//other stuff
})
成功地将函数移到文档就绪函数之外
//this will work
myFunction(alert('doing something!'));
$(document).ready(function () {
//other stuff
})
然后在控制台窗口中,输入带有'()'的函数名称以执行该函数
myFunction()
还有一个用处是能够打印出函数体来提醒自己函数的作用。通过从函数名称中去掉 '()' 来做到这一点
function myFunction(alert('doing something!'))
当然,如果您需要在加载文档后注册该功能,那么您不能这样做。但是你也许可以解决这个问题。
这是一个较旧的线程,但我只是搜索并找到了它。我刚开始使用 Web 开发人员工具:主要是 Firefox 开发人员工具 (Firefox v.51),但也有 Chrome DevTools (Chrome v.56)]。
我无法从开发者工具控制台运行函数,但我随后发现了这个
https://developer.mozilla.org/en-US/docs/Tools/Scratchpad
我能够将代码添加到 Scratchpad,突出显示并运行一个函数,根据附加的屏幕截图输出到控制台。
我还添加了 Chrome 的“Scratch JS”扩展:看起来它提供了与 Firefox 开发者工具中的 Scratchpad 相同的功能(下面的屏幕截图)。
https://chrome.google.com/webstore/detail/scratch-js/alploljligeomonipppgaahpkenfnfkn
图 1(火狐):http : //imgur.com/a/ofkOp
图 2(Chrome):http : //imgur.com/a/dLnRX
您可以使用调用它
window.function_name()
或者直接不window
喜欢
function_name()
基本上,这里有两种情况:
- 您的函数在全局范围内。在这种情况下,只需打开一个控制台并调用它
yourFunction()
- 您的函数范围在其他一些函数内,不能全局访问。在这种情况下,您可以打开 Sources 选项卡,找到您的 .js 文件,在外部函数底部的任意位置放置一个断点(如果代码已经运行,您可能需要在此之后刷新页面)并
yourFunction()
在控制台中调用. 此外,在断点处,您可以window.yourFuncRef = yourFunction
在控制台中执行类似操作,以便稍后随时访问它。