意外令牌(错误

问题描述:

你好谁能帮我调试的小错误,我的眼睛似乎跳过错误是:?意外(错误是我的数组了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); 


} 

欢呼

+0

尝试使用jslint.com检查语法 – Maz 2011-05-11 17:46:33

+3

VAR纬度()VAR经度()?这些变量是?尝试删除()并用一个替换; – Andreas 2011-05-11 17:46:40

不少东西:

  • 你必须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); 


} 

的问题在这些线路:

var latitude() 
var longitude() 

你的意思是

var latitude; 
var longitude; 

或可能

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

,因为你似乎是把他们当作阵列。

+0

当到达'经度[i] ='的行时,这会出错。 – Quentin 2011-05-11 17:47:59

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

(具有类似的修正以下行)

如果你想,而不是实例化一个数组:

var latitude(); 

它应该是:

var latitude = []; 

你声明var latitidue(),但是这并没有使任何东西。 ,因此意外“(”此外,失踪后声明分号