Php 未捕获类型错误:对象不是函数(匿名函数)

Php 未捕获类型错误:对象不是函数(匿名函数),php,javascript,jquery,google-chrome,Php,Javascript,Jquery,Google Chrome,当运行下面的代码时,我在开发人员屏幕中遇到一个错误,当调用php页面时,或者javascript应该在消息旁边放置一个图标。在IE中,它工作正常,但在Chrome和其他浏览器中: Uncaught TypeError: object is not a function jsfunctions.php:92 dowarnerr jsfunctions.php:92 AddIcons jsfunctions.php:180 (anonymous function) 你知道这是什么,

当运行下面的代码时,我在开发人员屏幕中遇到一个错误,当调用php页面时,或者javascript应该在消息旁边放置一个图标。在IE中,它工作正常,但在Chrome和其他浏览器中:

  Uncaught TypeError: object is not a function jsfunctions.php:92
  dowarnerr jsfunctions.php:92
  AddIcons jsfunctions.php:180
  (anonymous function)
你知道这是什么,为什么吗

------------------------------------jsfunctions.php------------------------

function AddIcons()
{
  if (typeof(error)=='object') 
 {
  dowarnerr(error,'Error');
 }
 if (typeof(warning)=='object') 
 {
 dowarnerr(warning,'Warning');
 }
 }
function doerror(err, etype)
{
  msg = err.innerHTML;
  if (etype=='Error') {
    err.innerHTML = '<img id=icon src=/images/err.gif>' + msg;
                      }
  else {
    err.innerHTML = '<img id=icon src=/images/warning.gif>' + msg;
       }
}





function dowarnerr(obj, etype)
{
   if(typeof(obj.innerHTML) == 'string') {
   doerror(obj, etype);
   }
   else 
   {
   for (i = 0; i < obj.length; i++) {
   doerror(obj(i), etype);
   }
   }
}





------------------------------------menu_config.php----------------------------------



<HEAD>
  <LINK REL="StyleSheet" TYPE="text/css" HREF="/styles.php"></LINK>
  <script language="JavaScript" src="/scripts/jsfunctions.php"></script>
</HEAD>

<SCRIPT LANGUAGE="javascript">
AddIcons();
</SCRIPT>
函数AddIcons()
{
if(typeof(error)='object')
{
道瓦内尔(错误,'error');
}
如果(类型(警告)=“对象”)
{
道瓦内尔(警告,'warning');
}
}
函数doerror(err,etype)
{
msg=err.innerHTML;
if(etype=='Error'){
err.innerHTML=''+msg;
}
否则{
err.innerHTML=''+msg;
}
}
函数dowarnerr(obj,etype)
{
if(typeof(obj.innerHTML)='string'){
doerror(obj,etype);
}
其他的
{
对于(i=0;i
如果传递到dowarnerr()函数中的第一个参数是一个对象,则不能将
用于(i=0;i
语句。您必须使用foreach:

for (var propName in obj) {
  if (obj.hasOwnProperty(propName)) {
    doerror(obj[propName], etype);
  }
}

显然,在
AddIcons
中传递给
dowarnerr
error
(或
warning
)不是一个函数而是一个对象,因此
dowarnerr
中的
obj(i)
抛出一个错误。只能调用函数,不能调用对象。