我可以在函数's参数

Can I use an object in function's parameter in javascript?

本文关键字:参数 函数 我可以      更新时间:2023-09-26

我需要使用:

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

当我尝试运行此代码时,我会得到"UncaughtSyntaxError:意外标识符"。我知道setTimeout("alert("+str+");)的这个问题,当我应该使用.toString()时,但如果我需要在函数中传递一个对象呢?

谢谢。

是的,你可以,但喜欢这样:

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

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

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

你以前的代码有这些问题:

  • 您通过传递参数(例如someFun(obj))立即调用函数
  • 您在幕后使用eval()函数,将代码用引号括起来
setInterval(function () { somefunc(obj) }, 10);

您可以像一样使用它

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