如果将它们放在document.ready()函数中,则函数的定义为未定义:$(document).ready(function(){ function foo() { alert('Bar'); }});foo(); // Undefined为什么会这样?我确定我只需要一些简单的理解即可:)
3 回答
慕斯709654
TA贡献1840条经验 获得超5个赞
您可以,但是必须在ready()方法范围内调用它们,否则它们将在ready()方法退出时丢失范围。
例如,下面的代码将起作用:
$(document).ready(function(){
function foo()
{
alert('Bar');
}
foo(); // still in the scope of the ready method
});
慕仙森
TA贡献1827条经验 获得超7个赞
如果将它们放在非它们的范围内,它们将以未定义形式出现。如果您真的想在$(document).ready(...)范围之外使用它们,则需要在外部声明它们。如:
var foo;
$(document).ready(function(){
foo = function()
{
alert('Bar');
}
});
foo(); // works now because it is in scope
希望这可以帮助。
添加回答
举报
0/150
提交
取消