【发布时间】:2022-12-03 11:04:17
【问题描述】:
在这里,for 循环似乎只执行 console.log(" floors["+i+"]: " + floor.floorNum()) 行,循环遍历所有 5 个元素而不调用其余代码,完成后,才调用 floor.on("up_button_pressed", function()。
到底发生了什么,所以我可以解决它?
来源:https://play.elevatorsaga.com/#challenge=2
{
init: function(elevators, floors) {
var elevator = elevators[0]; // Let's use the first elevator
// Whenever the elevator is idle (has no more queued destinations) ...
elevator.on("idle", function() {
elevator.goToFloor(2);
console.log("goToFloor 2 (because idle)")
});
elevator.on("floor_button_pressed", function(floorNum) {
elevator.goToFloor(floorNum);
console.log("goToFloor " + floorNum + " (because floor_button_pressed)")
} );
console.log("floors: " + floors)
for (i = 0; i < floors.length; i++) {
var floor = floors[i];
console.log(" floors["+i+"]: " + floor.floorNum())
floor.on("up_button_pressed", function() {
elevator.goToFloor(floor.floorNum());
console.log("goToFloor " + floor.floorNum() + " (because up_button_pressed)")
} );
floor.on("down_button_pressed", function() {
elevator.goToFloor(floor.floorNum());
console.log("goToFloor " + floor.floorNum() + " (because down_button_pressed)")
} );
}
},
update: function(dt, elevators, floors) {
// We normally don't need to do anything here
}
}
【问题讨论】:
标签: javascript