2012-07-23 40 views
0

谷歌应用脚​​本函数,我有一个Folder参数。所以,这个声明typeof运营商文件夹返回错误

Logger.log(typeof folder); 

日志“未定义”,当参数未提供,这是正确的。但是当提供文件夹时,出现此错误:

Invalid JavaScript value of type $Proxy686. (line 15)

无法诊断原因。需要一些帮助。谢谢。

桑杰

更新:这里是代码重现该问题:

function typeOfTest() { 

    var folders = DocsList.getAllFolders(); 
    for (var i = 0; i < folders.length; i++) 
    Logger.log(typeof folders[i]); 

}; 
+0

您能否提供一个可以复制并粘贴到脚本编辑器并重现问题的最小脚本。 – megabyte1024 2012-07-23 09:02:03

+0

谢谢。刚刚更新我的帖子,添加代码来重现错误。 – Sanjay 2012-07-23 09:26:44

回答

1

事实上。我有同样的行为。我不知道它是一个错误还是一个功能。可能的解决方法是使用文件夹的toString()函数。类似于

function typeOfTest() { 

    var folders = DocsList.getAllFolders(); 
    for (var i = 0; i < folders.length; i++) 
    Logger.log(folders[i].toString()); 

}; 
+0

这是重现错误的示例代码片段。实际上,我有'if(typeof folder =='undefined')'来测试'folder'参数是否可用。任何解决方法?谢谢。 – Sanjay 2012-07-23 10:26:02

+0

@Sanjay。我的代码和你的代码不一样。区别在于'代码中的typeof文件夹[i]'和文件夹[i] .toString()'。 'DocsList.getAllFolders()'只返回文件夹,结果列表只包含'Folder'实例。 – megabyte1024 2012-07-23 10:37:19

+1

@Sanjay。解决方法if(typeof folder =='undefined')'if'(folder == undefined)' – megabyte1024 2012-07-23 10:40:18