Javascript 为什么我会得到一个;“左侧的赋值无效”;来自多个“的错误”;如果;声明?

Javascript 为什么我会得到一个;“左侧的赋值无效”;来自多个“的错误”;如果;声明?,javascript,google-apps-script,google-sheets,comparison-operators,equality-operator,Javascript,Google Apps Script,Google Sheets,Comparison Operators,Equality Operator,我的脚本知识仅限于一些旧语言,如VBA Excel。 在尝试将VBA Excel脚本转换为Google Apps脚本时,为什么以下内容会给我一个错误“无效的左侧赋值”?似乎我无法继续有条件地替换脚本中的同一个变量,该脚本运行了大约1500行,并根据各种检查条件多次替换许多变量。最后,最后的条件状态作为输出返回。如果我不能在脚本执行过程中有条件地更改变量,那么这确实会破坏我的整个转换希望: var Elevation = activeSheet.getRange(7,2).getValue();

我的脚本知识仅限于一些旧语言,如VBA Excel。 在尝试将VBA Excel脚本转换为Google Apps脚本时,为什么以下内容会给我一个错误“无效的左侧赋值”?似乎我无法继续有条件地替换脚本中的同一个变量,该脚本运行了大约1500行,并根据各种检查条件多次替换许多变量。最后,最后的条件状态作为输出返回。如果我不能在脚本执行过程中有条件地更改变量,那么这确实会破坏我的整个转换希望:

var Elevation = activeSheet.getRange(7,2).getValue();
var Desert = activeSheet.getRange(8,2).getValue();
var Highlands_mod = 0;

if (Elevation == "High Mountains") {Highlands_mod = -20;}
if (Elevation == "Highlands" && Desert = "No") {Highlands_mod = -10;}
if (Elevation == "Highlands" && Desert = "Yes") {Highlands_mod = 10;}
if (Elevation == "High Mountains") {Elevation = "Highlands";}
我尝试了各种不同的格式。当我有第二组条件试图修改/替换同一变量时,例如在前3个“if”语句之间,就会发生错误。我还想知道第一个和第四个“if”语句是否会按照预期的顺序得到解决,并导致错误


我正在尝试做一个可能很容易的转换(我希望),而不用花几个星期学习一门新语言,所以我很感激任何见解。

你有一个与你正在检查的地方相同的单子

说明:

设x=10//用值10初始化x

if(x==10){}
//检查x的值是否为10

if(x==10){}
//检查
x的值和类型
是否是一个数字,其值是否等于10

它应该是两倍,而不是一倍:

var Elevation = activeSheet.getRange(7,2).getValue();
var Desert = activeSheet.getRange(8,2).getValue();
var Highlands_mod = 0;


if (Elevation == "High Mountains") {
  Highlands_mod = -20;
}
if (Elevation == "Highlands" && Desert == "No") {
  Highlands_mod = -10;
}
if (Elevation == "Highlands" && Desert == "Yes") {
  Highlands_mod = 10;
}
if (Elevation == "High Mountains") {
  Elevation = "Highlands";
}

您使用的是
=
而不是
=
==

if (Elevation == "Highlands" && Desert = "No") {Highlands_mod = -10;}
请记住:
=
指定一个值,
=
==
比较两个值

将代码更改为:

 if (Elevation == "Highlands" && Desert == "No") {Highlands_mod = -10;}

Elevation==“Highlands”和&Desert=“No”
但是
=
是任务,而不是比较你的反应。我已经知道规则了,但现在是凌晨3点,我盯着屏幕看了大约一个小时都没弄明白。现在我觉得问这个问题真的很愚蠢。我想这意味着该睡觉了:)太棒了,哦,是的,睡眠对健康很重要。晚安@CAP708J谢谢。我只是因为某种原因看不到错误!