You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Script猜谜游戏报错:变量A2、B2未定义的解决方法

解决Google Script猜谜游戏中A2、B2未定义的问题

我帮你排查下问题,你遇到的A2、B2未定义错误,核心是变量作用域问题,还有代码里的小拼写错误,咱们一步步解决:

问题根源

  1. 变量作用域错误:你在function1()函数内部定义了A2和B2,但后面判断这两个变量的if语句却写在了函数外面!在JavaScript(Google Apps Script基于JS)中,函数内部声明的变量属于局部变量,只能在函数内部访问,外部代码无法读取,所以会触发“未定义”错误。
  2. 拼写错误:代码里有一处activeSheet.getRance(2,3),这里应该是getRange(多打了一个n),这个拼写错误也会导致执行报错。

修正后的完整代码

function function1() { 
  var app = SpreadsheetApp; 
  var activeSheet = app.getActiveSpreadsheet().getActiveSheet(); 
  var A1 = activeSheet.getRange(1,2).getValue(); 
  var B1 = activeSheet.getRange(1,3).getValue(); 
  var A2 = activeSheet.getRange(2,2).getValue(); 
  var B2 = activeSheet.getRange(2,3).getValue(); 
  
  if(A1 === "apple"){ 
    activeSheet.getRange(1,3).setValue("correct"); 
  } else { 
    activeSheet.getRange(1,3).setValue("Wrong"); 
  } 
  
  if(B1 === "correct"){ 
    activeSheet.getRange(2,1).setValue("what is the colour of an orange?"); 
  } 
  
  if(A2 === "orange"){ 
    activeSheet.getRange(2,3).setValue("Correct"); 
  } else { 
    activeSheet.getRange(2,3).setValue("Wrong"); 
  } 
  
  if(B2 === "Correct"){ 
    activeSheet.getRange(2,1).setValue("(Another question"); 
  }
}

额外建议

为了让代码更易读,你可以给变量起更语义化的名字,比如把A1改成firstAnswer,B1改成firstResult,这样后续维护代码时能快速理解每个变量的用途。

内容的提问来源于stack exchange,提问作者howaboutno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 12:42:32