当其中一个条件为FALSE时执行IF

时间:2015-09-03 14:12:04

标签: javascript if-statement google-apps-script

此代码在Google工作表的Apps脚本中运行,我无法终身解决为什么此IF语句中的代码会执行的原因。 IF语句执行中的日志告诉我条件返回FALSE但仍然执行。

if (!entrySheet.getRange('B6').isBlank() && !entrySheet.getRange('L6').isBlank()); {
  var testMobile = !entrySheet.getRange('B6').isBlank() && !entrySheet.getRange('L6').isBlank();
  Logger.log('Row 17 executes ' + testMobile); <-- Shows FALSE
  clientDataSheet.getRange(entrySheet.getRange('L6').getValue(), 2).setValue(entrySheet.getRange('B6').getValue()); <-- This line returns the error code
}

更奇怪的是,在最后一行返回错误代码,&#34;范围的坐标或尺寸无效。&#34;

1 个答案:

答案 0 :(得分:1)

你有一个流浪的分号:

if (!entrySheet.getRange('B6').isBlank() && !entrySheet.getRange('L6').isBlank());  // <--- THERE

该分号构成if块的整体;换句话说,分号表示的空语句是if测试真实时发生的情况。以下块,即想要要控制的if始终将被执行。

如果删除该分号,则该块仅在if测试真实时执行。