如何用变量替换 javascript 雅虎天气 api 调用 属性

how to substitute a javascript yahoo weather api call property with a variable

这是一个运行良好并读取雅虎天气的脚本api

<script>
  var callbackFunction = function(data) {
    var windy = data.query.results.channel.wind;
    alert(windy.chill);
  };

</script>

<script src="https://query.yahooapis.com/v1/public/yql?q=select wind from weather.forecast where woeid in (select woeid from geo.places(1) where text='chicago, il')&format=json&callback=callbackFunction"></script>

但我需要将一个变量代入 var 风 = data.query.results.channel.wind; 比如

var select = "results";
var windy = data.query.select.channel.wind;

我做什么都没用。 我在函数内部和外部定义了var,没有区别。 我使用了 +select+ ,它也导致了错误。 我的目标是有一个带有下拉菜单的页面,供用户 select 天气项目并为上面的查询提供 selection,因此需要一个变量。 请帮忙,谢谢。

试试这个:

var select = "results";
var windy = data.query[select].channel.wind;

使用 [] 表示法时,您可以根据需要传递动态 属性 名称。