为什么有时未定义此变量?

JG

因此,此函数获取一个文件夹,获取子文件夹,将一些信息推送到数组,然后将该数组粘贴到我的电子表格中。

它在大约2-5%的时间里发生了奇怪的故障,而我为更早发现错误而进行的尝试都行不通。为什么/如何!

function getFileCount(gdrive,level,fullpath){
  var folder = DriveApp.getFolderById(gdrive);
  var fileCount = 0;


  //append the subfolders to the sheet 
  var folders = folder.getFolders();
  var result = [];
  while (folders.hasNext()){
    var folder = folders.next();
    var path = fullpath + " > " +folder.getName();
    result.push([(level+1),folder.getId(), path,"?"]);
  }
  if (result == []) return fileCount;
  if (result == undefined) {console.log("Why the hell is it undefined?"+folder.getName()); return fileCount;}
  var sh = SpreadsheetApp.getActiveSpreadsheet();
  var ss = sh.getSheetByName("FoldersPlusCounts");
  var end = ss.getLastRow()+1;  
  try{ss.getRange(end, 1,result.length, result[0].length).setValues(result);}catch(e){console.log(e+" "+gdrive+" ["+result+"]");return -1;}
  if (result.length > 0) SpreadsheetApp.flush();

  return fileCount;
}

try catch语句失败的地方是:

TypeError:无法读取未定义的1dmDV2qdnU2Qqrg6mr-sxD8JaQncTUNqn的属性'length'[]

我不认为这种情况不会在文件夹没有文件时或每次没有文件夹时发生。

因此,如何能结果有时是未定义的,当它被明确定义为结果= [],并且如果它未定义的,为什么是不是被捕获的“如果结果==未定义”行?

为了清楚起见,删除了一些行(只是文件计数),无论如何我都没有在那部分使用结果。

Tanaike

在脚本中,result被声明为var result = [];并与result进行比较[]

在这种情况下,使用Javascript将对象作为参考进行比较。由此,result == []始终是false为了确认是否result[]里面是空的,怎么样以下修改?

从:

result == []

至:

result.length == 0

要么

!result.length

参考文献:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在 javascript 中执行导入时,有时会返回未定义的变量?

来自分类Dev

为什么有时我的 ES 模块函数未定义

来自分类Dev

为什么有时在Chrome上未定义window.navigator.storage.estimate()

来自分类Dev

为什么此变量的值未定义

来自分类Dev

为什么在Python中未定义此变量?

来自分类Dev

为什么console.log有时会为已导出的变量打印未定义的内容?

来自分类Dev

按钮中的e.target.value有时返回未定义。为什么会这样?

来自分类Dev

为什么有时使用点表示法访问对象属性会返回未定义?

来自分类Dev

为什么未定义此数组?

来自分类Dev

为什么此语句未定义?

来自分类Dev

为什么未定义变量?

来自分类Dev

为什么变量未定义?

来自分类Dev

为什么未定义变量?

来自分类Dev

为什么指定方法接收器有时会触发“未定义”错误?

来自分类Dev

在将变量与未定义进行比较时,为什么会出现“变量未定义”错误?

来自分类Dev

为什么此必需函数的变量参数返回未定义?

来自分类Dev

getElementsByTagName有时返回未定义

来自分类Dev

HTTP statusCode有时未定义

来自分类Dev

异步有时返回未定义

来自分类Dev

提前输入有时返回未定义

来自分类Dev

img onload 函数有时未定义

来自分类Dev

未定义的变量:此

来自分类Dev

为什么在我调用.length时此数组未定义?

来自分类Dev

为什么在未定义变量时变量赋值不会引发 ReferenceError - JavaScript

来自分类Dev

obj 有时是未定义的,有时却可以完美运行

来自分类Dev

为什么会收到有关此脚本{未定义}的{引用错误}?

来自分类Javascript

为什么在React中未定义此数组?

来自分类Dev

为什么此代码未定义行为?

来自分类Dev

为什么模态的此参数始终未定义?

Related 相关文章

  1. 1

    为什么在 javascript 中执行导入时,有时会返回未定义的变量?

  2. 2

    为什么有时我的 ES 模块函数未定义

  3. 3

    为什么有时在Chrome上未定义window.navigator.storage.estimate()

  4. 4

    为什么此变量的值未定义

  5. 5

    为什么在Python中未定义此变量?

  6. 6

    为什么console.log有时会为已导出的变量打印未定义的内容?

  7. 7

    按钮中的e.target.value有时返回未定义。为什么会这样?

  8. 8

    为什么有时使用点表示法访问对象属性会返回未定义?

  9. 9

    为什么未定义此数组?

  10. 10

    为什么此语句未定义?

  11. 11

    为什么未定义变量?

  12. 12

    为什么变量未定义?

  13. 13

    为什么未定义变量?

  14. 14

    为什么指定方法接收器有时会触发“未定义”错误?

  15. 15

    在将变量与未定义进行比较时,为什么会出现“变量未定义”错误?

  16. 16

    为什么此必需函数的变量参数返回未定义?

  17. 17

    getElementsByTagName有时返回未定义

  18. 18

    HTTP statusCode有时未定义

  19. 19

    异步有时返回未定义

  20. 20

    提前输入有时返回未定义

  21. 21

    img onload 函数有时未定义

  22. 22

    未定义的变量:此

  23. 23

    为什么在我调用.length时此数组未定义?

  24. 24

    为什么在未定义变量时变量赋值不会引发 ReferenceError - JavaScript

  25. 25

    obj 有时是未定义的,有时却可以完美运行

  26. 26

    为什么会收到有关此脚本{未定义}的{引用错误}?

  27. 27

    为什么在React中未定义此数组?

  28. 28

    为什么此代码未定义行为?

  29. 29

    为什么模态的此参数始终未定义?

热门标签

归档