Javascript全局变量用法在此代码中表现得很奇怪

时间:2014-05-09 23:03:25

标签: javascript global-variables

我使用jsfiddle.net运行以下javascript作为测试 -

var v1=1;
var options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0
};

function success(pos) {
  var crd = pos.coords;

  alert('Your current position is:');
  alert('Latitude : ' + crd.latitude);
  alert('Longitude: ' + crd.longitude);
  alert('More or less ' + crd.accuracy + ' meters.');
  v1=crd.latitude;
  alert(v1);
};

function error(err) {
   alert('ERROR(' + err.code + '): ' + err.message);
};

alert(v1); 
navigator.geolocation.getCurrentPosition(success, error, options);
alert(v1); //removing this makes the code work

代码正常工作,直到最后一个警报到位。在这种情况下,不会调用成功函数。如果它是全局变量声明问题或者调用getCurrentPosition的方式,我感到困惑。我想要的是将经度和纬度值放在一个我以后可以使用的变量中。新手在这里。有什么指针吗?

1 个答案:

答案 0 :(得分:0)

您使用的是哪种浏览器?上面的代码在chrome中运行良好。

第二个警报可能是停止执行您的成功功能。最好使用console.log()进行调试。