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