gpt4 book ai didi

Javascript:实例方法返回 NAN

转载 作者:行者123 更新时间:2023-11-29 19:12:32 24 4
gpt4 key购买 nike

我在使用以下代码时遇到了一些问题:

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);

我为 pickUpPassengers() 添加了全局 num_passengers 以避免它未定义。

但是,我仍然收到总线实例的 pickUpPassegers 方法的 NAN。

这是范围界定还是定义的问题?

最佳答案

只是找到当前实例的一个小问题。您只需使用“this”定义 num_passengers 所需的实例。

此外,这样您就不需要 num_passengers 的全局变量,这意味着您可以同时拥有多个实例(汽车、公共(public)汽车和摩托车)。这将有可能避免将来出现问题。

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("car", 5, 10);

bus.pickUpPassengers = function(toPickUp){
this.num_passengers += toPickUp;
return this.num_passengers;
}

关于Javascript:实例方法返回 NAN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37708092/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com