我想执行一个位于jquery文档就绪闭包内的函数。 但我想从全球范围内执行它。
e.g。
$("document").ready(function () {
function myFunction() {
alert("test");
}
});
我可以编写某种“路径”语法,以便进入doc ready闭包吗?
e.g。这是一些伪代码(我已经完成了这个synatx):
document.ready.myFunction();
你可能想知道我为什么要这样做;原因是我可以通过javascript控制台(例如IE开发人员工具栏/ firebug等中的控制台)执行“就绪”功能闭包内的函数。
答案 0 :(得分:2)
简而言之,你不能,它们只是无法访问......这是闭包的核心功能之一。如果你想在外面使用它,你需要在外面声明它,如下所示:
function myFunction() {
alert("test");
}
$(document).ready(function () {
//something..
});
或者将其定义为内部的全局变量(虽然我没有看到 lot 的意义,除非你还有其他一些参考文献):
$(document).ready(function () {
myFunction = function() {
alert("test");
}
});
要定义一个函数并在document.ready
上执行它,它可以像这样简单:
function myFunction() {
alert("test");
}
$(myFunction);
这使得它可以访问并在document.ready
上执行一次,不确定这是你所追求的,但它是一个选项。