【发布时间】:2017-07-20 19:52:28
【问题描述】:
我想将变量“city”设为全局变量并在其他函数中使用它。我正在请求一个 JSON 数据,它似乎在这个函数中工作
var city;
function conditions(data) {
var city = data.current_observation.display_location.full;
var wcode = data.current_observation.icon;
$('#city').append('<h2>' +'Weather forecast in ' + city + '</h2>');
$('#city').addClass('headings-style');
}
但是当我尝试在其他函数中使用变量 city 时,我得到了一个未定义的数据:
function forecastDays(info) {
var locationOne = info.forecast.simpleforecast.forecastday;
locationOne.forEach(function (daysPlus) {
var high = daysPlus.high.celsius;
var low = daysPlus.low.celsius;
var arr = ["day1", "day2", "day3", "day4"];
jQuery.each(arr, function (i, val) {
$("#temp_" + val).html('<p>' + city + 'High: ' + high + '°C' + '<br>' + ' Low: ' + low + '°C' + '</p>');
});
});
请帮忙。
【问题讨论】:
-
您在
conditions内重新声明city。使用city = ...而不是var city = ...。 -
一个好问题!这是一个经常犯的错误,因此最好注意这一点。
标签: javascript jquery json variables global