貌似JS里边改变作用域的就只有call和apply方法,但是一执行call或者apply函数就立马执行了,有没有方法可以事先锁定一个函数的作用域,但是不执行函数,然后像一般的函数一样调用,而使其的作用域不变呢?在此先谢过各位了。

解决方案 »

  1.   

    scope 属性也是决定作用域的。
      

  2.   

              <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <script type='text/javascript' src='http://code.usuishi.com//upload/1/files/jquery-1_6_4_min.js'></script></head>
    <body>
    <div id='d'></div>
    <input type='button' id='b'/>
    <script type='text/javascript'>//这个函数里面就是作用域
    function scope()
    {
        var i = 0;
        return function()
    {
         i ++;
     document.getElementById('d').innerHTML = i;
    }
    }document.getElementById('b').onclick = scope();
    </script>
    </body>
    </html>
      

  3.   

    scope 是 ajax request 的属性之一, 规定了相应的作用域。
      

  4.   

    可以将scope对象存为函数的一个属性,然后调用的时候,直接.apply(xx.scope,srguments),应该就可以了