我创建了一个加载 .js 文档的文档,该文档具有我创建的一些 JQuery 函数。我想使用 firebug 控制台在我的 html 文档上快速测试这些函数的功能。但是当我尝试在控制台中调用这些函数时,我没有得到任何响应。
例如:
我有调用我的 JS 的 index.html:
<script src="jquery.js" type"text/javascript"></script> <script src="myfunctions.js" type="text/javascript"></script>
Myfunctions.js 中定义了以下内容:
function showAbout(){ $('div#about').show("slow"); $('.navbar #about-button').attr('disabled', true); }
问题:
当我尝试从 index.html 上的控制台调用 showAbout
或 showAbout()
时,我没有得到任何更改。但是,当我调用 $('div#about').show("slow");
或 $('div#about').show("slow");
直接从控制台我得到了预期的行为。
从控制台调用用户定义函数的正确方法是什么?
最佳答案
如果 showAbout
是在全局范围内定义的,您应该能够在控制台中编写 showAbout();
并查看结果。如果不是,那么您可能将您的函数放在作用域函数中,如下所示:
(function() {
function showAbout() {
}
})();
如果是这样,对你有好处,你就避免了创建全局变量/函数。但这确实意味着您无法从控制台访问这些功能,因为控制台只能访问全局范围。
如果你想导出其中任何一个以便你可以从控制台使用它们(也许只是暂时的,用于调试),你可以这样做:
(function() {
window.showAbout = showAbout;
function showAbout() {
}
})();
这显式地在引用您的函数的全局对象 (window
) 上放置了一个 showAbout
属性。然后控制台中的 showAbout();
将起作用。
关于javascript - 从 firebug 控制台调用自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9354191/