3

考虑以下 javascript:

$(function(){
  var private_function = function(){
    alert("private_function!");
  }

  setTimeout("private_function();", 1000);  

});

这会产生错误“private_function 未定义”。

有没有办法在不污染全局命名空间/通过全局模块公开它的情况下推迟 javascript 中私有/匿名函数的执行?

感谢您的任何建议。

4

2 回答 2

7
$(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);  

});
于 2012-04-23T09:26:48.437 回答
1

用于setTimeout(private_function, 1000);将 Timeouthandler 设置为函数。

于 2012-04-23T09:28:04.630 回答