我有一個類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