我一直有一個理解從稀薄空氣中傳遞並且沒有在任何地方聲明的可讀文件的問題,例如參見下面的腳本,當我試圖理解時我可以穿過它的地理位置API:變量被從無處傳遞到地理位置函數
function geoFindMe() {
var output = document.getElementById("out");
if (!navigator.geolocation){
output.innerHTML = "<p>Geolocation is not supported by your browser</p>";
return;
}
function success(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
output.innerHTML = '<p>Latitude is ' + latitude + '° <br>Longitude is ' + longitude + '°</p>';
var img = new Image();
img.src = "https://maps.googleapis.com/maps/api/staticmap?center=" + latitude + "," + longitude + "&zoom=13&size=300x300&sensor=false";
output.appendChild(img);
};
function error() {
output.innerHTML = "Unable to retrieve your location";
};
output.innerHTML = "<p>Locating…</p>";
navigator.geolocation.getCurrentPosition(success, error);
}
上面的代碼可以看出HERE。
現在看看這個下面一行:
function success(position) {
現在地球上誰是傳遞position
變量成功的功能?這個我百思不得其解,我已經看到了,當我使用jQuery的Ajax功能類似的事情。有人可以解釋這個變量的概念是從哪裏傳遞的嗎?
'在某個時候,getCurrentPosition或者其他調用的函數會調用成功並傳遞一些參數。「你能舉個例子嗎?我仍然很困惑,這... –
'function getCurrentPosition(callback){callback(「here are your coordinates」); }' – Quentin
恐怕這仍然沒有道理!謝謝你嘗試。 –