使用 JavaScript 访问隐藏函数

accessing a hidden function with javascript

本文关键字:函数 隐藏 访问 JavaScript 使用      更新时间:2023-09-26

嗨,我有一些自定义函数包装在jQuery的document.ready函数中。这些函数中的大多数都是从该函数和工作中使用的,但在某些情况下,我想从全局范围访问其中包含的函数。我该怎么做?我可以做这样的事情吗: jQueryReadyScope.myFunctionName('paramaters'(;

谢谢。

不,但你可以命名函数并将其传递给.ready()

var myFunctionName = function (params) {
   // do things
}
// pass as callback to ready function
jQuery(document).ready(myFunctionName);
// access directly like any other function:
myFunctionName('paramaters');

这是一个范围问题,您需要做的就是指定命名空间。在这种情况下,您谈论的是全局,因此我们将使用 window。

window.myFunction = function() { ... stuff }

要从全局范围访问它,需要将其分配给全局变量,方法是在文档外部声明它 ready 或将其分配为 window 的属性:

var yourGlobalFunction1 = function() { ... }
$(document).ready(function() {
    function privateFunction() { ... }
    window.yourGlobalFunction2 = function() { ... };
    yourGlobalFunction1();
    privateFunction();
    yourGlobalFunction2();
});
yourGlobalFunction1();
// and then at some later point AFTER the document ready has run,
// e.g., in response to some event:
$("#someelement").click(function() {
    yourGlobalFunction2();
});