首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在循环内部创建变量并在循环之外使用这些变量时,对我的循环逻辑感到困惑

在循环内部创建变量并在循环之外使用这些变量时,对我的循环逻辑感到困惑
EN

Stack Overflow用户
提问于 2014-08-03 19:03:52
回答 1查看 56关注 0票数 0

我的循环正在计算页面中有多少个图表,然后它会将图表的值存储到变量中。我试图使用这些值并将它们附加到我的DOM中。

这是我的两难处境,当我在循环中取变量时,例如。visual_pie_val,它将返回两个值,即"20“和"10”。另一方面,如果我在循环之外获取它,它将只返回最后一个值,即"10“。

我需要它来返回它们各自的价值

示例:

对于visualization-80,,它需要返回20,对于visualization-81,则需要返回10

我还需要确定图表类型,因此,我为此使用了if语句,如果我像预期的那样将if语句放入循环中,我可以确定类型,但同时,我会生成两次元素(页面中当前的图表数),因为它在for循环中。

这是我的代码看起来的样子:

代码语言:javascript
复制
//  CustomVisualizer 

function numAttrs(obj) {
  var count = 0;
  for(var key in obj) {
    if (obj.hasOwnProperty(key)) {
      ++count;
    }
  }
  return count;
}


var visual = visualizer.charts; // contains "visualization-80" and "visualization-81"
    visual_list = [],
    visual_title = [],
    visual_type = [],
    visual_pie_val = [],

    shadow_box = '<div class="percent"></div><div class="inner"></div> <div class="outer"></div>';


// load key
for(var k in visual) visual_list.push(k);


var visual_target  = '#' + visual_list.join(', #');


for (  i = 0; i < numAttrs(visual); i++ ) {

    visual_title[i] = visual[visual_list[i]].settings.title;
    visual_type = visual[visual_list[i]].type; // currently it's "pie"
    visual_pie_val = visual[visual_list[i]].data[0][1]; // "visualization-80" value is 20, "visualization-81" value is 10

    // remove title
    visual[visual_list[i]].settings.title = '';

    if(visual_type == 'pie') {
        $(visual_target).parent().append(shadow_box);
        $(visual_target).parent().find('.percent').append(visual_pie_val) // visual_pie_val will return "2010"
    } else {
        console.log('not pie');
    }

};

$(visual_target).parent().find('.percent').append(visual_pie_val); // visual_pie_val will return "10"

这是我的小提琴,以更好地说明我的问题:

http://jsfiddle.net/9hKHJ/1/

我需要建议。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-08-03 19:30:30

问题在第14行,你用分号代替逗号,使你定义的其他变量成为全局变量。

试着把分号改为逗号,看看它是否有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25108071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档