从方法 JavaScript 访问对象变量
access object variable from method javascript
我在访问对象方法中的数组时遇到问题。虽然日志完美地返回了值,但以下行返回了一个错误,即 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++;
}
}
)
};
在此代码中:
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++;
}
每次迭代时n
递增两次。在for
循环进行到一半时,n
将超出数组的末尾。
第一次通过循环时,当i
和n
都为零时,您将对allRects[0]
进行动画处理。然后,递增n
并allRects[1]
动画,然后再次递增n
。因此,在第二次通过循环时,您将对allRects[2]
和allRects[3]
进行动画处理,依此类推。
相关文章:
- 如何在HTML中显示服务器对象变量
- 在Javascript中重新分配对象变量时,原始对象会发生什么
- Javascript 方法看不到对象变量
- JavaScript对象范围-在对象方法中使用对象变量
- 将对象(变量)传递给angularjs指令
- 对象变量在 JavaScript 中是不可访问的
- 无法访问公共JavaScript对象变量
- 可以't获取具有“t”的对象变量;这个“;由setTimeout()函数调用的对象函数中的属性
- Javascript:如何在回调中设置父对象变量
- 从方法内部设置对象变量
- 访问对象中的对象变量
- JavaScript 中的对象变量
- 从 json 代码中删除 javascript 对象变量名称文本
- 将变量传递到对象变量中
- JavaScript 如何重新识别事件对象变量
- 从对象变量中获取子节点
- 使对象变量在所有“更深”的范围内都是可访问的
- 从方法 JavaScript 访问对象变量
- 如何在 javascript 中保存对象变量的状态
- 无法访问IE和Mozilla中javascript的类对象变量