2017-01-07 102 views
0

我想从函数内部获得accuracy值,并使用accuracy创建if else语句。我不明白如何获得函数内部的accuracy值,并将其传递到函数的外部。这是我的代码:从函数中获取值

 
function initMap(position) { 

    var latitude = position.coords.latitude, 
     longitude = position.coords.longitude, 
     accuracy = position.coords.accuracy; 

    var mapOptions = { 
     zoom: 18, 
     center: { 
      lat: latitude, 
      lng: longitude, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     }, 
    } 
} 
+4

查找JavaScript返回值和参数 – Loaf

回答

0

另外,您可以在函数之外创建一个全局变量。而不是宣称“准确度”作为一个局部变量,只是使用全局变量的函数内部,像这样:

var accuracy; 

function initMap(position) { 

    var latitude = position.coords.latitude, 
     longitude = position.coords.longitude; 

    accuracy = position.coords.accuracy 

    var mapOptions = { 
     zoom: 18, 
     center: { 
      lat: latitude, 
      lng: longitude, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     }, 
    } 
} 

那么“精确度”将提供给脚本内的一切。为了表明一个全局变量,有时人们会用“G”或“_”(下划线),像这样:

var _accuracy; 
var gAccuracy; 

编辑:语法不好/错字。

+0

如果我把console.log(gaccuracy)函数之外的函数定义为undefined,你能解释为什么? – Justin

+0

直到你调用initMap,它才会被定义。在声明函数内的精确度之后,放入console.log()。 – stldoug

0

简单!在你的函数结尾添加一个return accuracy;。然后,您可以将该变量设置为该值,例如var random = initMap(position);。这会将random设置为accuracy

+0

如果我把var random = initMap(position)函数外部,它会说该位置没有被定义 – Justin

+0

是的,position是一个变量。将位置设置为数字或其他内容。位置就是你输入的函数。我把它放在那里只是为了占位符。 – UnsignedByte