2012-03-07 135 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); 
相关问题