考虑以下javascript:
$(function(){
var private_function = function(){
alert("private_function!");
}
setTimeout("private_function();", 1000);
});
这会产生错误"未定义private_function"。
有没有办法在不污染全局命名空间/通过全局模块公开它的情况下延迟 javascript 中私有/匿名函数的执行?
感谢您的任何建议。
$(function(){
var private_function = function(){
alert("private_function!");
}
setTimeout(private_function, 1000);
});
或
$(function(){
var private_function = function(){
alert("private_function!");
}
setTimeout(function(){
private_function(); // with this method you can also pass some arguments
}, 1000);
});
使用 setTimeout(private_function, 1000);
将 Timeouthandler 设置为函数。