setTimeout("a()",1000)
这里的a是全局的
第一张图定义的a是局部的当然获取不到
window.a=function(){}//这样定义就没问题
http://blog.csdn.net/sunlylorn/article/details/6534610

解决方案 »

  1.   

    主贴的图是正确的!$(function() {
      $('#div1').append('1');
      setTimeout('a()', 1000);
    })
    function a() {
      $('#div1').append('2');
    }
      

  2.   

    把setTimeout('a()', 1000);  改成 setTimeout(function(){a();},1000);
      

  3.   


    如果没有参数可以直接setTimeout(a,1000);有参数就要搞个匿名函数才行,否则就要写成setTimeout("a(1,2,3)",1000)并且你的a要是window作用域下的,否则找不到函数
      

  4.   

    还好吧可能是同一行会让你觉得看起来麻烦
    setTimeout(function(){
        a(c,d,e);
         b();
    },1000);  
    就算a函数如果有参数也不会有问题的
      

  5.   

    还好吧可能是同一行会让你觉得看起来麻烦
    setTimeout(function(){
        a(c,d,e);
         b();
    },1000);  
    就算a函数如果有参数也不会有问题的
    那这2个呢 第一个也是放里面为什么就能执行,第二个就不行?$(function(){
    a()
    function a(){
    setTimeout("alert()",1000)
    }
    })

    $(function(){
    setTimeout("a()",1000)
    function a(){
    alert()
    }
    })