2

根据WHATWGMDNwindow.setTimeoutwindow.setInterval具有形式

var handle = window.setTimeout( handler [, timeout [, arguments... ] ] );
var handle = window.setInterval( handler [, timeout [, arguments... ] ] );

大多数消息来源说(通用)Internet Explorer 不支持可选的arguments.
是否有支持和不支持它的浏览器和版本的列表?

测试支持的方法的一个例子是

<html>
<head><title>test</title></head>
<body>
setTimeout: <span id="t">testing..</span><br/>
setInterval: <span id="i">testing..</span>
<script type="text/javascript">
t = window.setTimeout( // setTimeout
    function (b) { // callback
        document.getElementById('t').innerHTML = (b || false); // test for arg1
    },
    0,
    true // arg1
);
i = window.setInterval( // setInterval
    function (b) { // callback
        document.getElementById('i').innerHTML = (b || false); // test for arg1
        window.clearInterval(i);
    },
    0,
    true // arg1
);
</script>
</body>
</html>

预期结果true和失败结果为false

4

1 回答 1

8

使用基于问题中的示例代码和浏览器的BrowserShots的测试,这里是浏览器支持表

Browser  Version  setTimeout  setInterval
Chrome     4+      true        true         Lowest version testable
Firefox    3+      true        true         Did not test lower versions
MSIE       6       false       false
MSIE       7       false       false
MSIE       8       false       false
MSIE       9       false       false
MSIE      10       true        true
Opera                                       Not tested
于 2012-09-30T00:27:57.450 回答