【发布时间】:2015-01-19 16:54:51
【问题描述】:
我在访问对象方法中的数组时遇到问题。 虽然日志完美返回值,但以下行返回 allRect[n] 未定义的错误。
我认为它与可变可访问性有关,但它可以在一行中记录并拒绝它在下一行中存在的事实让我有点没有想法。
谢谢大家。
this.s = Snap('#'+id);
var allRects = [];
this.xPos = 0;
var scale = vizWidth/locationSum(data);
...
//methods
this.updateViz = function() {
apiRequest('datasets', 164, 'json').done(
function(data){
var n = 0;
data = locationDataIntoArray(data);
for(i = 0; i< allRects.length; i++){
console.log(allRects[n]);
allRects[n].animate({ width:parseInt(data[i][2]), opacity:evaluateMachine(data[i][0])},3000);
n++;
allRects[n].animate({ width:parseInt(data[i][3]), opacity:evaluateTech(data[i][1])},3000);
n++;
}
}
)
};
【问题讨论】:
-
请说明您尝试访问它的两个地方。
-
您确定您的代码中的其他地方没有错字,您将
allRects称为allRect? -
变量 n 增加了两倍。对吗?
-
为什么
n变量存在。 -
an array within an object method? 您想要访问方法的本地数组这一事实表明它不应该是本地开始
标签: javascript snap.svg