所以,问题是我在一个需要由setTimeout调用的函数内部有一个函数。 但这不起作用,因为setTimeout将假定它调用的函数将root作为其“范围”。
知道如何在不改变功能范围的情况下解决这个问题吗?
编辑:
这就是我的意思:
function general(){
function saysomething(){
console.log('hi there');
}
setTimeout("saysomething();", 1000);
}
setTimeout失败..
答案 0 :(得分:7)
function general(){
function saysomething(){
console.log('hi there');
}
setTimeout(saysomething, 1000);
}
答案 1 :(得分:2)
不正确这是你的意思,但你可以在setTimeout中调用函数时传递变量
function f1(){
var a='1';
var b='b';
setTimeout(function(){f2(a,b);},1000)
}
function f2(a,b){
alert(a + b);
}
f1();