0

フォルダーが既に存在する場合、末尾に昇順の新しいフォルダーを作成しようとしていますが、無限ループに陥ります。

var i=1;
while (myFolder.exists == true) {
var myFolder = new Folder(wf+"/"+curFile+"_folder"+i)
i++;
};

どんな助けでも大歓迎です。

4

1 に答える 1

1

プロパティではなくメソッドのように見えるmyFolder.existsため、呼び出す必要があります。

while (myFolder.exists()) {
    var myFolder = new Folder(wf + "/" + curFile + "_folder" + i);
    i++;
};

そうしないと、メソッド自体を評価することになり、実際には常にtrueブール値のコンテキストになります。

myFolderループ内での再定義は、おそらくここでは問題ではないことに注意してください。Javascript のループは、囲んでいるコードと同じスコープを共有し、変数はそのスコープの先頭に引き上げられます。jdwire が言うように、undefined最初は可能ですが、無限ループをトリガーする代わりにエラーが発生します。

于 2013-03-01T15:45:12.963 に答える