setTimeout 而不会污染全局命名空间



考虑以下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 设置为函数。

相关内容

最新更新