setTimeout"函数未定义"的问题!

far*_*oft 4 javascript jquery settimeout

setTimeout"函数未定义"的问题!

这段代码有什么问题?

$(document).ready(function(){ 

 function ISS_NextImage() { //ImageSlideShow NextImage
  $('.ImageSlideShow').each(function() {
   alert($(".correntImage", this).text());
  });
 }

 var t=setTimeout("ISS_NextImage();",1000);

});
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 12

当你eval的代码,它在全球范围内完成.由于您尝试调用的函数是本地作用域,因此失败.

传递函数setTimeout而不是传递要eval编辑的字符串.

var t=setTimeout(ISS_NextImage,1000);
Run Code Online (Sandbox Code Playgroud)

  • *"当你评估代码时,它在全局范围内完成"***排序**(其中存在一个问题.)`setTimeout`发生的范围与*范围不同*eval`发生了.这并不会改变你不使用字符串的基本建议的智慧,而是功能参考. (2认同)