2017-01-07 138 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