我有一个类HashTable包含一个方法addItem返回true如果一个项目不存在,并已添加成功(我检查它正在工作)。嵌套函数数组的范围
在下面的函数顶部将创建一个HashTable的新对象。 嵌套函数应该使用此对象hashTable的addItem方法。 不幸的是,范围有问题。在编辑时,嵌套函数内部的hashTable不会变为蓝色,并且(实际上)在运行时会出现一条消息,指出addIten方法不存在。
function getHashTableFolders_(folder)
{
var hashTable = new HashTable();
function getFolderCollection_(folder)
{ // Recursively fill the hashTable
if (hashTable.addItem(folder) === true)
{
var subFolders = folder.getFolders();
var numSubFolders = subFolders.length;
for (var i=0; i<numSubFolders; i++) getFolderCollection_(subFolders[i]);
}
}
getFolderCollection_(folder); // Start the process
return hashTable;
}
如何在嵌套函数中引用对象hashTable并使用它的方法addItem?
范围不应该有问题...适合我的工作:http://jsbin.com/fedela/1/edit – bbuecherl
它也适用于我。你能显示HashTable类的代码吗? –
我使用了https://script.google.com/d/1qxkczJ4kCF9JiTtJshFqwFTdduoihxAsd1V_h4V-jtwHoWMdpUqi7i_K/edit?usp=drive_web 中的代码,并添加了addItem方法。 – SoftwareTester