setTimeout(adDown,1)執(zhí)行函數(shù)的格式不是應(yīng)該是setTimeout('adDown()',1)
setTimeout(adDown,1)執(zhí)行函數(shù)的格式不是應(yīng)該是setTimeout('adDown()',1),為什么代碼里面直接用函數(shù)名字就可以啦,初級菜鳥,望大神指教!
setTimeout(adDown,1)執(zhí)行函數(shù)的格式不是應(yīng)該是setTimeout('adDown()',1),為什么代碼里面直接用函數(shù)名字就可以啦,初級菜鳥,望大神指教!
2017-03-29
舉報(bào)
2017-03-31
setTimeout雙引號中的作用域不捕捉局部變量,不用雙引號包著的是捕捉局部作用域的。例如
var a = function()
??? {
??????? alert(1111)
??? }
??? function abc()
??? {
??????? var a= function ()
??????? {
??????????? alert(2222)
??????? }
??????? setTimeout("a()",3000)//這個(gè)調(diào)用的全局函數(shù)a
??????? setTimeout(a,3000)//這個(gè)調(diào)用的局部函數(shù)a
這是我最近搜索的答案,感覺這個(gè)解釋更合理點(diǎn)。
2017-03-31
我的理解是a_fun這只是函數(shù)名,a_fun()才是函數(shù)吧
2017-03-30
因?yàn)閟etTimeout第一個(gè)參數(shù)是函數(shù)...比如setTimeout(a_fun,1000)這樣是可以的,a_fun是一個(gè)函數(shù).
但是setTimeout(a_fun(),1000);這樣就不行了.因?yàn)檫@里a_fun()其實(shí)是函數(shù)的返回值了,所以你要加上引號,
看一下w3c上的?http://www.w3school.com.cn/jsref/met_win_settimeout.asp