首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

怎么锁定一个函数的作用域

2012-04-13 
如何锁定一个函数的作用域?貌似JS里边改变作用域的就只有call和apply方法,但是一执行call或者apply函数就

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

[解决办法]
scope can

探讨
改变作用域

[解决办法]
scope 属性也是决定作用域的。
[解决办法]
HTML code
          <!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>
[解决办法]
探讨
貌似JS里边改变作用域的就只有call和apply方法,但是一执行call或者apply函数就立马执行了,有没有方法可以事先锁定一个函数的作用域,但是不执行函数,然后像一般的函数一样调用,而使其的作用域不变呢?在此先谢过各位了。

[解决办法]
使用闭包,返回一个函数
探讨

HTML code
<!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>
<scri……

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

热点排行