gpt4 book ai didi

JavaScript Mac Firefox setInterval() 奇怪之处

转载 作者:行者123 更新时间:2023-11-30 13:40:47 24 4
gpt4 key购买 nike

我第一次遇到 safari 的问题,当函数名称未包含在引号中(并且可选地用添加的括号接缝)时,set interval 的行为会不可预测:

repeatInterval = setInterval("foo()", 50);

将我的代码更改为以这种方式读取后,它似乎在 Mac 版本的 Firefox 中根本没有执行。

我做了一些进一步的测试,确保它在 linux 和 windows 版本(包括 windows 下的 3.0.10 和 3.6)下完全正常工作。引发此问题的唯一组合是 Mac OS X Snow Leopard 上的 Firefox(在本例中为 3.6)。

除非按以下格式编写,否则它根本不起作用:

repeatInterval = setInterval(foo, 50);

是否有解决此问题的方法可以在所有其他浏览器和 Mac 上的 Firefox 中运行,而无需在 javascript 中测试操作系统和浏览器并对其进行相应的修改?

最佳答案

不要将字符串作为 setIntervalsetTimeout 的第一个参数传递。您应该传递一个函数标识符(就像您对 setInterval(foo, 50); 所做的那样)或传递一个匿名函数(使用 function 关键字)。

关于JavaScript Mac Firefox setInterval() 奇怪之处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2372862/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com