如何从全局上下文执行 jquery 文档就绪函数闭包内的函数

发布于 2024-09-18 12:35:08 字数 394 浏览 5 评论 0原文

我想执行 jquery 文档就绪闭包内的函数。 但我想从全球范围内执行它。

例如

$("document").ready(function () {
    function myFunction() {
        alert("test");
    }
});

,我可以编写某种“路径”语法来进入文档就绪闭包吗?

例如,这里有一些伪代码(我已经编写了这个 synatx):

document.ready.myFunction();

您可能想知道为什么我想这样做;原因是我可以从 javascript 控制台(例如 IE 开发人员工具栏/firebug 等中的控制台)执行“就绪”函数闭包内的函数。

I want to execute a function that is inside the jquery document ready closure.
But I want to execute it from a global context.

e.g.

$("document").ready(function () {
    function myFunction() {
        alert("test");
    }
});

Is there some sort of "path" syntax I can write, to get inside the doc ready closure?

e.g. Here is some pseudo code (I've made this synatx up):

document.ready.myFunction();

You might be wondering why I wish to do this; the reason is so I can execute functions from a javascript console (e.g. the console in IE developer toolbar / firebug etc) that are inside the "ready" function closure.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

涫野音 2024-09-25 12:35:08

简而言之,你不能,它们只是不可访问......这是闭包的核心功能之一。如果您希望它在外部可用,则需要在外部声明它,如下所示:

function myFunction() {
    alert("test");
}
$(document).ready(function () {
  //something..
});

或者将其定义为内部的全局变量(尽管我认为这没有什么意义,除非您有一些其他参考资料正在进行中):

$(document).ready(function () {
    myFunction = function() {
        alert("test");
    }
});

要定义一个函数并在 document.ready 上执行它,它可以像这样简单:

function myFunction() {
    alert("test");
}
$(myFunction);

这使其可访问并在 document.ready< 上执行一次/code>,不确定这是否是您想要的,但它是一个选项。

In short, you can't, they're just not accessible...this is one of the core functions of closures. If you want it available outside, you either need to declare it outside, like this:

function myFunction() {
    alert("test");
}
$(document).ready(function () {
  //something..
});

Or define it as a global variable inside (though I don't see a lot of sense in this, unless you have some other references going on):

$(document).ready(function () {
    myFunction = function() {
        alert("test");
    }
});

To define a function and execute it on document.ready, it can be as simple as this:

function myFunction() {
    alert("test");
}
$(myFunction);

This leaves it accessible and executes it once on document.ready, not sure if that's what you're after but it is an option.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文