关于js中的setTimeout 、setInterval

今天在群里跟人闲聊,发现一个关于setTimeout 、setInterval的问题,贴图说一下

<script language="javascript" src="js/jquery-1.4.2.min.js"></script>
<script language="javascript" type="text/javascript">
    
    $(document).ready(function(){
        $("#btn1").click(function(){
             var s="sss";
            setTimeout("show(s)",1000)//当设置s为局部变量时  这样的写法会报错:s未定义 但是当s为全局变量时能正常运行
            setTimeout("show('s')",1000)//这样的写法就把参数值写死了  参数值就是s
            setInterval(function(){show(s)},1000)//这样的写法  不管s为局部或者全局变量都能正常运行  这样写更容易理解
            //使用setInterval setTimeout 方法时,作为参数的方法如果要使用变量参数  则该参数需要为全局变量  具体怎么回事不清楚..........
            //var t=setTimeout(function(s){alert(s)},1000)

        });    
    })
    
    function show(s)
    {
        alert(s);
    }
    
    
    /*var a 
    window.onload= function() 
    { 
        a=3 
        setInterval("hello(a)",2000) 
    } 
    function hello(x){alert(x);}*/
</script>

 

posted @ 2012-06-07 23:23  sidihu  阅读(280)  评论(0编辑  收藏  举报