Javascript 当某种情况发生时,如何更新对象属性?

Javascript 当某种情况发生时,如何更新对象属性?,javascript,object,Javascript,Object,我有一个机器人,它可以在2d中移动,然后转向N、W、S或E。默认方向是N。 我必须做一个函数,turnlift(),它将方向向左切换,从N切换到W,从W切换到S等等。我的问题是,当调用函数时,我无法更新默认方向,因此它总是朝西返回 非常感谢您对如何在每次调用函数时更新方向的任何帮助或建议 提前谢谢 let myRover ={direction: "N"} // ====================== // ====================== function turnL

我有一个机器人,它可以在2d中移动,然后转向N、W、S或E。默认方向是N。 我必须做一个函数,
turnlift()
,它将方向向左切换,从N切换到W,从W切换到S等等。我的问题是,当调用函数时,我无法更新默认方向,因此它总是朝西返回

非常感谢您对如何在每次调用函数时更新方向的任何帮助或建议

提前谢谢



let myRover ={direction: "N"}

// ======================

// ======================
function turnLeft(rover){
  if (rover.direction="N"){
     rover.direction= "W"
      console.log("Facing West");

  }
  else if(rover.direction="W"){
      rover.direction="S"
      console.log("Facing South");

  }
  else if(rover.direction="S"){
     rover.direction="E"
     console.log("Facing East");

  }
  else {
     rover.direction="N"
     console.log("Facing North");

  }

 console.log("turnLeft was called!");
}




turnLeft(myRover) // output:Facing West
turnLeft(myRover) // output:Facing West


键入代码
rover.direction=“N”
将其替换为if条件内的
rover.direction==“N”


实际上,您每次都将“N”指定给方向,而不是比较代码
rover中的键入。direction=“N”
将其替换为if条件中的
rover。direction==“N”


实际上,您每次都将“N”赋值给方向,而不是比较注意,您可以在
if
语句中赋值变量。这不是你想要的。使用
==
而不是
=
。 另外,将原来的变量改为传递给抛出函数的变量

这里有一个演示:

让myRover={direction:“N”}
功能左转(罗孚){
如果(月球车方向==“N”){
myRover.direction=“W”
控制台。原木(“面向西方”);
}
否则如果(月球车方向==“W”){
myRover.direction=“S”
控制台日志(“朝南”);
}
否则如果(月球车方向==“S”){
myRover.direction=“E”
控制台日志(“面向东”);
}
否则{
myRover.direction=“N”
控制台。原木(“朝北”);
}
log(“叫左转!”);
}
左转(myRover)//输出:面向西部

左转(myRover)//输出:面向西方
小心,如果语句中有变量,可以在
中赋值。这不是你想要的。使用
==
而不是
=
。 另外,将原来的变量改为传递给抛出函数的变量

这里有一个演示:

让myRover={direction:“N”}
功能左转(罗孚){
如果(月球车方向==“N”){
myRover.direction=“W”
控制台。原木(“面向西方”);
}
否则如果(月球车方向==“W”){
myRover.direction=“S”
控制台日志(“朝南”);
}
否则如果(月球车方向==“S”){
myRover.direction=“E”
控制台日志(“面向东”);
}
否则{
myRover.direction=“N”
控制台。原木(“朝北”);
}
log(“叫左转!”);
}
左转(myRover)//输出:面向西部

左转(myRover)//输出:面向西方
您应该使用“==”而不是“=”您应该使用“==”而不是“=”解决!谢谢解决了的!谢谢