最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js 定時(shí)器setTimeout無法調(diào)用局部變量的解決辦法

 更新時(shí)間:2013年11月28日 17:31:44   作者:  
javascript中定時(shí)器setTimeout無法調(diào)用局部變量,只需要將setTimeout的第一個(gè)參數(shù)改成函數(shù)對(duì)象,而不是字符串,就可以了
javascript中定時(shí)器setTimeout的用法一般如下,調(diào)用beginrotate之后就進(jìn)入定時(shí)執(zhí)行rotateloop的一個(gè)過程,如下代碼:
復(fù)制代碼 代碼如下:

var angle = 0;

function rotateloop() {
if (angle < 360) {
angle++;
//use angle
//......
setTimeout("rotateloop()", 100);
}
}

function beginrotate() {
//do something
//......
setTimeout("rotateloop()", 100);
}

這段代碼有一個(gè)問題,就是產(chǎn)生了一個(gè)全局變量angle,這顯然不是好的編程習(xí)慣,所以我們想到使用內(nèi)嵌函數(shù)的方式,將代碼改成如下:
復(fù)制代碼 代碼如下:

function beginrotate() {

var angle = 0;

function rotateloop() {
if (angle < 360) {
angle++;
//use angle
//......
setTimeout("rotateloop()", 100);
}
}
//do something
//......
setTimeout("rotateloop()", 100);
}

這樣子改了之后,發(fā)現(xiàn)javascript報(bào)錯(cuò)了,rotateloop找不到,顯然setTimeout沒有找到rotateloop這個(gè)局部?jī)?nèi)嵌函數(shù),這里只要稍微改一下就可以解決這個(gè)問題了,代碼如下:
復(fù)制代碼 代碼如下:

function beginrotate() {

var angle = 0;

function rotateloop() {
if (angle < 360) {
angle++;
//use angle
//......
setTimeout(rotateloop, 100);
}
}
//do something
//......
setTimeout(rotateloop, 100);
}

只需要將setTimeout的第一個(gè)參數(shù)改成函數(shù)對(duì)象,而不是字符串,就可以了。

相關(guān)文章

最新評(píng)論

锡林郭勒盟| 中山市| 荔波县| 谷城县| 左云县| 武义县| 玉门市| 瑞丽市| 天峻县| 天气| 石楼县| 灌阳县| 玉龙| 阿合奇县| 土默特右旗| 怀化市| 咸宁市| 琼中| 玛纳斯县| 曲水县| 丹寨县| 田阳县| 嵩明县| 岗巴县| 平昌县| 宜春市| 扎赉特旗| 板桥市| 政和县| 临安市| 瑞安市| 罗平县| 句容市| 托克逊县| 日喀则市| 高淳县| 兴化市| 永平县| 松原市| 彝良县| 南开区|