变量为';t在for循环中改变-JavaScript
为什么输出的每个feedName都是相同的名称(MedryBW)?我已经花了一段时间搞砸了,弄不明白。我希望它在循环的每个迭代中输出提要的名称,而不是一次又一次地重复相同的名称。谢谢大家变量为';t在for循环中改变-JavaScript,javascript,variables,for-loop,scope,Javascript,Variables,For Loop,Scope,为什么输出的每个feedName都是相同的名称(MedryBW)?我已经花了一段时间搞砸了,弄不明白。我希望它在循环的每个迭代中输出提要的名称,而不是一次又一次地重复相同的名称。谢谢大家 var feeds = ["Towellie", "TrumpSC", "TeamSp00ky", "TwitchPlaysPokemon", "Widgitybear", "AriaBlarg", "TheMexicanRunner", "OPNerd", "rabbitbong", "Wingsofdeat
var feeds = ["Towellie", "TrumpSC", "TeamSp00ky", "TwitchPlaysPokemon", "Widgitybear", "AriaBlarg", "TheMexicanRunner", "OPNerd", "rabbitbong", "Wingsofdeath", "MedryBW"];
$(document).ready(function(){
for(x = 0; x < feeds.length; x++){
var feedName = feeds[x];
$.getJSON('https://api.twitch.tv/kraken/streams/' + feeds[x] + '?callback=?', function(data) {
if(data.stream === null){
$('#feeds').append("<p>" + feedName + " is offline </p>");
} else {
$('#feeds').append("<p>" + feedName + " is streaming " (data.stream.game) + "/<p>");
}
});
}
});
var feeds=[“Towellie”、“TrumpSC”、“TeamSp00ky”、“TwitchPlay Spokeon”、“Widgitybear”、“AriaBlarg”、“TheMexicanRunner”、“OPNerd”、“rabbitbong”、“Wingsofdeath”、“MedryBW”];
$(文档).ready(函数(){
对于(x=0;x”;
}否则{
$(“#feeds”).append(“”+feedName+”正在流化”(data.stream.game)+“/”;
}
});
}
});
在for循环中编写Ajax时,成功回调在for循环执行后执行
var feeds = ["Towellie", "TrumpSC", "TeamSp00ky", "TwitchPlaysPokemon", "Widgitybear", "AriaBlarg", "TheMexicanRunner", "OPNerd", "rabbitbong", "Wingsofdeath", "MedryBW"];
$(document).ready(function() {
feeds.forEach(function(feedName) {
$.getJSON('https://api.twitch.tv/kraken/streams/' + feedName + '?callback=?', function(data) {
if (data.stream === null) {
$('#feeds').append("<p>" + feedName + " is offline </p>");
} else {
$('#feeds').append("<p>" + feedName + " is streaming " + (data.stream.game) + "/<p>");
}
});
});
})
var feeds=[“Towellie”、“TrumpSC”、“TeamSp00ky”、“TwitchPlay Spokeon”、“Widgitybear”、“AriaBlarg”、“TheMexicanRunner”、“OPNerd”、“rabbitbong”、“Wingsofdeath”、“MedryBW”];
$(文档).ready(函数(){
feeds.forEach(函数(feedName){
$.getJSON('https://api.twitch.tv/kraken/streams/“+feedName+”?回调=?”,函数(数据){
if(data.stream==null){
$(“#feeds”).append(“”+feedName+”处于脱机状态”;
}否则{
$(“#feeds”).append(“”+feedName+”正在流“+(data.stream.game)+”/”;
}
});
});
})
上面的更改将起作用因为回调函数运行得更晚,而不是在循环中,并且它只是在循环完成后获取变量值(最后一个值),请使用
bind
函数将变量传递给函数
var feeds = ["Towellie", "TrumpSC", "TeamSp00ky", "TwitchPlaysPokemon", "Widgitybear", "AriaBlarg", "TheMexicanRunner", "OPNerd", "rabbitbong", "Wingsofdeath", "MedryBW"];
$(document).ready(function() {
for(x = 0; x < feeds.length; x++){
var feedName = feeds[x];
$.getJSON('https://api.twitch.tv/kraken/streams/' + feeds[x] + '?callback=?', function(feedName, data) {
if (data.stream === null) {
$('#feeds').append("<p>" + feedName + " is offline </p>");
}else{
$('#feeds').append("<p>" + feedName + " is streaming " + (data.stream.game) + "/<p>");
}
}.bind(this, feedName));
}
});
var feeds=[“Towellie”、“TrumpSC”、“TeamSp00ky”、“TwitchPlay Spokeon”、“Widgitybear”、“AriaBlarg”、“TheMexicanRunner”、“OPNerd”、“rabbitbong”、“Wingsofdeath”、“MedryBW”];
$(文档).ready(函数(){
对于(x=0;x”;
}否则{
$(“#feeds”).append(“”+feedName+”正在流“+(data.stream.game)+”/”;
}
}.bind(这个,feedName));
}
});
您可以通过以下方式实现这一点
var feeds = ["Towellie", "TrumpSC", "TeamSp00ky", "TwitchPlaysPokemon", "Widgitybear", "AriaBlarg", "TheMexicanRunner", "OPNerd", "rabbitbong", "Wingsofdeath", "MedryBW"];
$(document).ready(function(){
var divText;
for(x = 0; x < feeds.length; x++){
var feedName = feeds[x];
$.getJSON('https://api.twitch.tv/kraken/streams/' + feeds[x] + '?callback=?', function(data) {
if(data.stream === null){
divText = divText + '<p>'+feedName+' is offline </p>';
}else{
divText = divText + '<p>'+feedName+' is streaming '+(data.stream.game) +'</p>'
}
});
}
$('#feeds').append(divText);
//or $('#feeds').html(divText);
})
var feeds=[“Towellie”、“TrumpSC”、“TeamSp00ky”、“TwitchPlay Spokeon”、“Widgitybear”、“AriaBlarg”、“TheMexicanRunner”、“OPNerd”、“rabbitbong”、“Wingsofdeath”、“MedryBW”];
$(文档).ready(函数(){
var-divText;
对于(x=0;x';
}否则{
divText=divText+''+feedName+'正在传输'+(data.stream.game)+''
}
});
}
$(“#提要”).append(divText);
//或$('#feeds').html(divText);
})