我可以在javascript中的函数参数中使用对象吗?

时间:2012-03-07 08:07:36

标签: javascript

我需要使用:

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

当我尝试运行此代码时,我收到“Uncaught SyntaxError:Unexpected identifier”。当我应该使用setTimeout("alert("+str+");)时,.toString()知道这个问题,但是如果我需要在函数中传递一个对象怎么办?

谢谢。

3 个答案:

答案 0 :(得分:2)

是的,你可以这样:

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

以下是您的代码应该如何:

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

您之前的代码存在以下问题:

  • 您通过传递参数someFun(obj)
  • 来立即调用您的函数
  • 您在幕后使用eval()函数将代码包装在引号中。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

你可以像

一样使用它
var obj=document.getElementsByClassName[n];
setInterval(function() {return somefunc(obj)},10);