2012-03-07 133 views
1

我需要使用:我可以在javascript的函數參數中使用對象嗎?

var obj=document.getElementsByClassName[n]; 
setInterval("somefunc("+obj+");",10); 

當我試圖運行此代碼,我得到「未捕獲的SyntaxError:意外的標識符」。我知道這個問題與setTimeout("alert("+str+");),當我應該使用.toString(),但如果我需要傳遞函數中的對象呢?

謝謝。

回答

2

是的,你可以,但這樣的:

setInterval(function(){ 
    somefunc(obj); 
},10); 

因此,這裏是如何你的代碼應該是:

var obj = document.getElementsByClassName(n); 
setInterval(function(){ 
    somefunc(obj); 
},10); 

你有這些問題,以前的代碼:

  • 你打電話給你的功能立即通過傳遞參數例如someFun(obj)
  • 您在背景中使用eval()函數將代碼封裝在引號中。
1
setInterval(function() { somefunc(obj) }, 10); 
1

,你可以使用它像

var obj=document.getElementsByClassName[n]; 
setInterval(function() {return somefunc(obj)},10); 
相關問題