javascript - 从 firebug 控制台调用自定义函数

标签 javascript jquery function console firebug

我创建了一个加载 .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 上的控制台调用 showAboutshowAbout() 时,我没有得到任何更改。但是,当我调用 $('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/

相关文章:

javascript - D3 条形图 X-ticks 未对齐

javascript - jQuery .delay 与 .fadeOut 结合不做任何事情

javascript - 相当于 React 中的 document.querySelectorAll(),onScroll

jquery - 淡出整个站点的 div 以(模拟)使用(Mootools)Jquery 进行预加载

javascript - 不显眼的 JavaScript

javascript - 使用 JS 中的 Github API 拉出所有问题(多页)

javascript - 传递变量时加载时执行的 jQuery 函数

ios - 取多个 slider 值的平均值

function - PowerShell 函数返回最佳实践

JavaScript:区分 native 和非 native 成员