欢迎您来到懒之才-站长的分享平台!   学会偷懒,并懒出境界是提高工作效率最有效的方法!
首页 > 教程文档 > Js&Ajax > 给定时器加入变量

给定时器加入变量

2018-05-07 684 收藏 0 赞一个 0 真差劲 0 去评论

定时器的功能主要在于设定某个未来的时间,让Javascript到时执行某个语句:

var the_string = "hello";
the_timeout = setTimeout("alert(the_string);", 60000);

这两行指令让JavaScript等待一分钟然后弹出一个提示框显示the_string变量所包含的内容。所以一分钟后JavaScript就寻找叫做the_string的变量并调用alert()。但是问题是一分钟后该变量中所包含的内容可能后是别的什么。所以如果你把这两行代码放在一个函数内,setTimeout有可能会报错。例如在下例中:

function alertInAMinute()
{
var the_string = "hello";
the_timeout = setTimeout("alert(the_string);", 60000);
}

然后你在某个链接中调用这个函数:

<a href="#" onClick="alertInAMinute(); return false;">blah!</a>

可能会出错。因为你定义名为the_string的变量时用的是var,而当你在一个函数内使用var时,Javascript将其理解为该变量只存在于该函数中。一旦离开该函数而进入另一个函数后,该变量就会从Javascript的记忆中消失。所以当后来需要调用该变量时,Javascript从它的记忆中是不可能找到该变量的,错误因此就产生了。

产生问题的原因在于你将一个变量传递给setTimeout。你可以通过将变量的值而不是变量本身传递给setTime来避免这个问题:

function alertInAMinute()
{
var the_string = "hello";
the_timeout = setTimeout("alert(" + the_string + ");",60000);
}

这段代码将变量the_string从setTimeout的引号中拉出来,由于该变量变量目前不在setTimeout的引号内,JavaScript就可以从记忆中找到该变量的值。

定时器在动态HTML中用途非常广泛,所以值得你仔细研究它。

要使所有的拥护都能看到动态HTML的内容,你必须了解如何识别用户所使用的浏览器。

返回主目录
暂无界面图片

一、推荐使用迅雷或快车等多线程下载软件下载本站资源。

二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。

三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!

四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.

五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。

六、如需转载本站资源,请注明转载来自并附带链接

七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com

大家评论