有人可以照亮一個光線爲什麼一個人得到「不能讀取屬性」未定義的「推動」我的JS技能是有限的。未定義的推送屬性
function Position(position) {
if (!position) {
throw new Error('No position object given!');
}
this.lat = parseFloat(position.lat);
this.lon = parseFloat(position.lon);
this.timestamp = position.timestamp;
this.heading = position.heading;
this.speed = position.speed;
};
Position.prototype.getLatLng = function() {
return new L.LatLng(this.lat, this.lon);
};
function Positions(positions) {
if (!(positions instanceof Array)) {
throw new Error('No positions array given!');
}
for (var i = 0; i < positions.length; i++) {
this.positions.push(new Position(positions[i]));
}
};
因爲沒有定義'this.positions' – smerny
也許你想'位置'(不是'this.positions')? – vaultah
您在該代碼中唯一調用'push'的位置是'Positions'內部,這是您永遠不會在該代碼中調用的函數。所以無論問題是什麼,它都不會被你的問題所揭示。這可能歸結爲「JavaScript是如何工作的?」雖然。 – Quentin