所以我做在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