我在这里做错了什么?未捕获的引用错误:分配中的左侧无效

What did i do wrong here? Uncaught ReferenceError: Invalid left-hand side in assignment

本文关键字:错误 引用 分配 无效 错了 在这里 什么      更新时间:2023-09-26
function look() {
var desc = "";
    switch(currentLoc) {
        case 0 = name.Starting Room; 
            break;
        case 1 = name.Forest;
            break; 
        case 2 = name.Seagulls;   
            break;
        case 3 = name.Ocean; 
            break;
        case 4 = name.Resort;     
            break;
        case 5 = name.Rock;
            break;
        case 6 = name.Wise Turtle;
            break;
        case 7 = name.Palm Tree;
            break;
        case 8 = name.Iglo;
            break;
        case 9 = name.sandBurrow;
            break;
        case 10 = name.End;
            break;
    default: desc = "You cannot go that way";
}
disable_btns();

}

这是针对我的一个项目。我不知道如何解决这个问题。如果您想查看完整的代码,因为这曾经有效,直到我添加矩阵并更改了游戏的位置格式,所以我很确定它与此有关,但我不知道是什么。如果你有时间,可以在这里查看完整的代码 https://github.com/rileyjgr/Games。感谢您的帮助>.<我不知道我搞砸了什么。>

它应该是每次case后的:而不是=

我猜你的意思是:

case 2: desc = name.Seagulls;  

但是,使用数组似乎可以更好地为您服务。

var data = [
    name.StartingRoom, 
    name.Forest,
    name.Seagul,
    name.Resort
];

然后

var desc = data[currentLoc];

我认为这就是你的结构应该的样子,假设你有一个name对象。请注意,switchArg必须匹配 0-10 才能返回 name Object 属性之一。

var name = {'Starting Room':'home', Forest:'trees', Seagulls:'birds', Ocean:'Pacific', Resort:'town', Rock:'and Roll', 'Wise Turtle':'slow', 'Palm Tree':'coconut', Iglo:'ice', sandBurrow:'What', End:'of Days'};
function returnFromSwitch(switchArg){
  switch(switchArg) {
    case 0:
      return name['Starting Room'];
    case 1:
      return name.Forest;
    case 2:
      return name.Seagulls;   
    case 3:
      return name.Ocean; 
    case 4:
      return name.Resort;     
    case 5: 
      return name.Rock;
    case 6:
      return name['Wise Turtle'];
    case 7:
      return name['Palm Tree'];
    case 8:
      return name.Iglo;
    case 9:
      return name.sandBurrow;
    case 10:
      return name.End;
    default:
      return 'Keep on Learning.';
  }
}
console.log(returnFromSwitch(5)); // 'and Roll'

请注意,如果您在此函数中使用了我特意省略的disable_btns(),则必须在函数返回任何值之前执行它。在功能中使用开关时,可能不需要使用 break 。如果这些是唯一的结果,您可以只return该值。