我有这个问题与jQuery。我的jQuery中的一些函数返回“未捕获的ReferenceError:curLocZip未定义”当我在另一个函数中调用它时。我有这个问题与jquery与一个功能没有定义的指示,同时我定义的功能
下面是函数的定义:
function curLocZip(){
curZipCode = "";
if (navigator.geolocation) { //Checks if browser supports geolocation
navigator.geolocation.watchPosition(function (position) {
var geocoder = new google.maps.Geocoder();
var lat = position.coords.latitude;
var lng = position.coords.longitude;
var latlng = new google.maps.LatLng(lat, lng)
geocoder.geocode({'latLng': latlng}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
for (i = 0; i < results[0].address_components.length; i++) {
if (results[0].address_components[i].types[0] == 'postal_code'){
curZipCode = results[0].address_components[i].short_name;
break;
}
}
}
} else {
console.log("Geocoder failed due to: " + status);
}
});
});
} else {
alert("Geolocation is not supported by this browser.");
}
}
我叫它在另一个功能,像这样:
curLocZip();
我不知道为什么我收到表示错误curLocZip () 没有定义。
代码中的“curLocZip”定义在哪里?它在哪里被称为? – Joseph
a)您何时以及何时定义了功能b)何时何地称呼它? – Danmoreng
我在'$(document).ready(function(){...})中定义了_curloczip()_(fna curLocZip);'和我用相同的方法调用了它。通过在_curloczip()_中为全局变量设置一个默认值,然后调用该函数,我注意到该函数在调用时实际返回一个值,只是在API处理完成之前返回该值。我现在正在寻找如何在函数返回被调用之前完成API处理。 –