我有,我創建一個單元和AddGate節點項目:對象變量是不確定的,即使它初始化
var Unit = function(value, weight) {
this.value = value;
this.weight = weight;
}
var AddGate = function() {
this.sum_function = function(units) {
sum = 0;
for (unit in units)
sum += unit.value;
return sum;
};
};
AddGate.prototype = {
forward: function(units) {
this.units = units;
this.output_unit = new Unit(this.sum_function(units), 0.0);
return this.output_unit;
}
}
我創造了一些單位,一個AddGate和ForwardNeuron(猜我在做什麼):
var in_1 = new Unit(1.0, 0.0);
...
var in_9 = new Unit(3.0, 0.0);
var add = new AddGate();
var forwardNeuron = function() {
a = add.forward({in_1, in_2, in_3, in_4, in_5, in_6, in_7, in_8, in_9});
};
forwardNeuron();
但由於某些原因,當AddGate的sum_function,我可以訪問的單位罰款各單位,但是當我試圖訪問unit.value,它說,這是不確定的,即使我已經清楚地初始化它。我錯過了什麼嗎?
'for..in'循環不用於迭代值,它們用於迭代對象的鍵。使用'units [unit] .value'。 – 4castle
哦,那是因爲單位正在像一張地圖一樣對待,不是嗎? –
它沒有以任何特殊的方式處理,它只是'如何...'的作品。 – trincot