我遇到一些麻煩THH以下代碼:的Javascript:實例方法返回NAN
var num_passengers;
function vehicleConstructor(name, num_wheels, num_passengers)
{
var vehicle = {};
vehicle.name = name;
vehicle.num_wheels = num_wheels;
vehicle.num_passengers = num_passengers;
vehicle.makenoise = function() {
}
return vehicle;
}
var bus = vehicleConstructor("bus", 5, 10);
bus.pickUpPassengers = function(toPickUp){
num_passengers += toPickUp;
return num_passengers;
}
bus.pickUpPassengers(5);
我添加了一個全球num_passengers的pickUpPassengers(),以避免它是不確定的。
但是,我仍然收到總線實例的pickUpPassegers方法的NAN。
這是一個範圍界定或定義問題嗎?
這應該有助於http://stackoverflow.com/a/13522017 – Dhiraj
'num_passengers'永遠不會初始化一個值。 'pickUpPassengers'內引用的是您在頂部定義的全局變量,而不是您添加到'vehicleConstructor'中的對象的車輛實例屬性。 – AtheistP3ace
'num_passengers'未定義。 – Xufox