以下代碼的輸出是undefined has undefined wheels
而不是Bike has 2 wheels
。 Instantiated object
不可能調用未附加到任何對象的prototype
的函數嗎?如何使用'Function.prototype.call'來調用未附加到任何對象原型的函數
var vehicle = function(name, wheels){
\t name = "car",
\t wheels = 4,
\t fuel = "petrol"
}
function drive(name, wheels) {
\t console.log(this.name + " has " + this.wheels + " wheels");
}
var vehicle1 = new vehicle('Bike' , 2);
drive.call(vehicle1); //undefined is driven with undefined wheels
裏面的'vehicle'功能則需要使用定義這些變量'本'....,例如:'this.name =「汽車」。 – Titus
你的車輛構造函數應該這樣做。name = ...'將變量附加到實例。你只是聲明瞭隱式全局變量。 – Li357
還有,'車有4個車輪' – Prem