为什么相同的代码在另一种形式下可以工作而不能工作
Why same code works and does not work in another form
我有两个javascript代码。两个代码为相同的工作工作,但有一个代码工作,而另一个代码不工作。
var i = 0;
function slideShow(){
i++;
document.getElementsByName('SearchBox')[0].value = i
setTimeout(slideShow, 1000);
}
<<p> 不工作/strong> var i = 0;
function slideShow(){
setTimeout(function(){
i++;
document.getElementsByName('SearchBox')[0].value = i
}, 1000);
}
为什么一个工作而另一个不工作
第一个版本,当被调用时,做一些事情,然后设置一个超时来再次调用自己。
第二个版本,当被调用时,设置一个超时来执行一些代码。不会再调用自己
在第一个示例中,slideShow
将自己传递给setTimeout
,因此每次运行时,它都会设置自己在一秒钟后再次运行。
在第二个示例中,这不会发生。所以这个函数只运行一次。
它们在功能上并不相同。
在第一个(工作)代码片段中,在调用slideShow()
时,它做它的事情,然后在1秒后调度另一个调用。
第二个版本仅调度匿名函数一次调用。在任何时候都不会再次安排函数调用
相关文章:
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JS可以在Chrome中工作,但不能在Firefox中工作
- javascript扫雷器floodfill算法不能正常工作
- JavaScript指令不能像我想象的那样工作
- Facebook登录按钮没有'不能在Firefox上工作
- jQuery Datepicker可以在Safari中工作,但不能在FF或Chrome中工作
- javascript没有´我不能在joomla 3.0中工作
- 用javascript将script元素附加到头部;铬不能工作
- jQuery函数不能只在一个页面上工作
- 为什么这个代码不能正常工作
- 为什么jquery悬停在jsfiddle中可以工作,而在我的html布局中却不能
- 为什么我的JavaScript在Safari上的严格模式下不能正常工作
- 为什么Turbolinks不能正常工作?Rails应用程序
- jQuery dosn'内联函数不能按预期工作
- 为什么这个javascript工作不能正确地分配.cells[] ?
- 谷歌应用引擎云端点:OAuth2不工作.不能加载api
- 输入焦点不工作/不能选择单选按钮-引导
- LocalStorage不能在iPhone上工作-不能在私人浏览
- 工作不能代替生活