所以我做在JavaScript中的柱状图,当我初始化它,我有它初始化每个容器的属性“内容”为0:的JavaScript坚持认为0是NaN
for (var rBin = 0; rBin < 255; rBin += 16) {
for (var gBin = 0; gBin < 255; gBin += 16) {
for (var bBin = 0; bBin < 255; bBin += 16) {
histogram[j] = {r:rBin, g:gBin, b:bBin, contents:0, width:16};
j += 1;
}
}
}
但经过这一点,如果我登录的histogram
我得到了JavaScript记录contents
,仅作为NaN的,而不是0了一个问题:
0: Object
b: 0
contents: NaN
g: 0
r: 0
width: 16
...
它变得怪异。如果我只记录histogram[0]
,那么它工作正常,并给我:
Object {r: 0, g: 0, b: 0, contents: 0, width: 16}
我在做什么错了?
编辑:
console.log(histogram);
console.log(histogram[0]);
EDIT2: 日志记录与线做 在调试器暂停这说明保存方法正确就行了console.log(histogram[0])
但不是在console.log(histogram)
直方图...
这可能是你如何访问第一次日志中的“直方图”。你可以添加代码吗? – Locke 2015-01-15 16:25:22
您在此处发布的代码不会这样做,所以您必须对其他代码中的值做其他操作。 [这是一个jsfiddle。](http://jsfiddle.net/rmw4fhkw/) – Pointy 2015-01-15 16:27:37
请记住,至少在某些浏览器中,控制台为您记录的对象提供“实时”视图。在记录对象之后,你应该将'contents'设置为'NaN' *,然后展开记录的对象,控制台将更新它的视图以显示最新的值。当你记录'直方图[0]'时不会发生这种情况,因为这里没有什么可以扩展的。 – 2015-01-15 16:28:19