我一直有一个理解从稀薄空气中传递并且没有在任何地方声明的可读文件的问题,例如参见下面的脚本,当我试图理解时我可以穿过它的地理位置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
恐怕这仍然没有道理!谢谢你尝试。 –