我在使用setTimeout將對象傳遞給函數時遇到了麻煩;是否可以將對象傳遞給eval/setTimeout函數?
function alertObject(obj){
alert(obj); //This is supposed to display "[object Object]"
}
function startCountdown(){
var myObj = new myClass();
setTimeout("alertObject("+ myObj +")",1000);
}
startCountdown();
當我運行這個,我得到一個錯誤,說「意外的標識符」。我知道我可以使用這樣的匿名函數;
setTimeout(function(){alertObject(myObj)},1000);
而不是
setTimeout("alertObject("+ myObj +")",1000);
但事實是我想知道爲什麼你不能使用eval()
函數傳遞一個對象。它的工作原理與弦...