javascript - 全局时 JSON 变量未定义

标签 javascript jquery json variables global

我想将变量“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 + '&deg;C' + '<br>' + ' Low: ' + low + '&deg;C' + '</p>');

            });
        });

请帮忙。

最佳答案

而不是做

var city = data.current_observation.display_location.full;

你应该这样做

city = data.current_observation.display_location.full;

为了设置全局city变量的值。重新使用 var 关键字将在函数作用域中声明一个新变量 city,而不是全局变量。

关于javascript - 全局时 JSON 变量未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45224043/

相关文章:

javascript - 未评估 Angular Directive(指令)属性

javascript - 我似乎无法让 json 工作。句号。我几乎复制了 http ://api. jquery.com/jQuery.getJSON/但没有运气

javascript - 请帮助优化简单的 JQuery 函数

javascript - Angular 2 : EXCEPTION: Unexpected token < in JSON at position 0

javascript - MobX:观察到的组件在可观察到的变化后不会重新呈现

javascript - 将数组数据从 v-for 循环发送到 prop (VUE)

javascript - Ajax 简单调用不起作用

sql - 在 Postgresql 中查找 JSON 中具有最高值的对象

ios - 如何通过 iOS 中的 JSON webservices post 方法将一组图像发送到服务器?

javascript - 谷歌地图 API (v3) 中的可选形状(圆形/矩形)