setTimeout与setInterval参数之String

时间:2025-02-03 12:04:56

今天无意中给某网友解答了一些setTimeout的问题,发现一个有趣的东西。

以前我总认为setTimeout的第一个参数只能function,后面发现string也能执行。那问题来了,String做参数,使用的是哪个域?

    function trace(){
console.log("out");
}
function test(){
function trace(){
console.log("in");
}
setInterval("trace()",1000);
}
test();

答案是window,不断的输出out,换成setTimeout也一样。

setInterval("window.trace()",1000);
setInterval("this.trace()",1000);
这两个呢?