我有一个在for循环中调用的函数。

 function printResult(name, i) {

$('#list').append("<a href='#' onClick='goto(" + i + ");' class='item'><H1>" + name + "</H1>    </a>");
 }


a href标记会按需添加,但是当我调用goto函数firebug时说:“未定义goto”

但它是!!

这是功能:

function goto(myPoint){
      map.setCenter(new google.maps.LatLng(marker[myPoint-1].position.lat(), marker[myPoint-
      1].position.lng()));
     markerArr[myPoint-1]['infowindow'].open(map, markerArr[myPoint-1]);
  }


我对为什么找不到该功能一无所知。它是否与在附加的href标签中被调用有关?

最佳答案

goto()是函数的可怕名称,因为在许多编程语言中,它通常用作关键字。

在Javascript中,它不是关键字。但是,它是a reserved word,因为它可能会在该语言的将来版本中使用。仅此一个原因就可能导致JS拒绝您的函数或无法调用它。

但是,即使它不是保留的,也可能被视为潜在的歧义,因此不建议使用。

因此,我的建议是更改函数名称。运气好的话,它可能会神奇地开始工作。

09-17 19:35