意外的令牌(错误

时间:2011-05-11 17:45:07

标签: javascript

你好任何人都可以帮助我调试我的眼睛似乎正在跳过的小错误。错误是:意外(错误。我的数组syntex是否正确?

function SourceClusting()
{
    // grabbing count
    var table = document.getElementById('OSDataCount');
    var counter= table.rows[1].children[0].innerHTML
    // putting all variable into arrays
    var latitude()
    var longitude()
    var i

    var marker =[];

    // placing values into arrays
    for (i=1;i == counter;i++)
        {
        longitude[i]=table.rows[i].children[6].innerHTML;
        latitude[i]=table.rows[i].children[5].innerHTML;

        marker[i]=new GMarker(new GLatLng(longitude[i],latitude[i])); 

        }

    var markerCluster = new MarkerClusterer(map, marker);


}

欢呼声

5 个答案:

答案 0 :(得分:2)

问题在于以下几点:

var latitude()
var longitude()

你的意思是

var latitude;
var longitude;

或可能

var latitude = [];
var longitude = [];

因为您似乎将它们视为数组。

答案 1 :(得分:0)

var latitude()是无稽之谈。我怀疑你的意思是var latitude = [];

(对以下行进行类似的修正)

答案 2 :(得分:0)

如果您尝试实例化数组,而不是:

var latitude();

它应该是:

var latitude = [];

答案 3 :(得分:0)

你宣布var latitidue(),但这不会造成任何影响。因此出乎意料的'('。而且,在声明之后缺少分号。

答案 4 :(得分:0)

很多事情:

  • 您必须parseInt()var counter = ...获得的字符串,因为字符串不能用于与您想要的整数比较。
  • var latitude = ()应为var latitude = [],因为它是一个数组,不要忘记那些分号!
  • 您通常在循环中使用小于号的符号,而不是等号==
  • 您可以通过初始化其中的i来压缩循环。

尝试这个新的,可能正常工作的代码:

function SourceClusting() {
    // grabbing count
    var table = document.getElementById('OSDataCount');
    var counter= parseInt(table.rows[1].children[0].innerHTML, 10);
    // putting all variable into arrays
    var latitude = [];
    var longitude = [];

    var marker =[];

    // placing values into arrays
    for (var i = 0; i < counter; i++)
        {
        longitude[i]=table.rows[i].children[6].innerHTML;
        latitude[i]=table.rows[i].children[5].innerHTML;

        marker[i]=new GMarker(new GLatLng(longitude[i],latitude[i])); 

        }

    var markerCluster = new MarkerClusterer(map, marker);


}