foreach之前的Javascript赋值(我不知道它叫什么)
我正在浏览一些Chrome应用程序API中的目录循环示例代码,我遇到了一个我以前从未见过的语句,不知道要搜索什么foreach之前的Javascript赋值(我不知道它叫什么),javascript,arrays,ecmascript-6,syntax,Javascript,Arrays,Ecmascript 6,Syntax,我正在浏览一些Chrome应用程序API中的目录循环示例代码,我遇到了一个我以前从未见过的语句,不知道要搜索什么 function recurseDirectory(dirEntry, callback) { var dirsLeft = 1; var rootEntries; let helper = (dirEntry, isRoot) => { dirEntry.createReader().readEntries(entries =>
function recurseDirectory(dirEntry, callback) {
var dirsLeft = 1;
var rootEntries;
let helper = (dirEntry, isRoot) => {
dirEntry.createReader().readEntries(entries => {
dirsLeft--;
if (isRoot) {
rootEntries = entries;
}
//This line is what I'm confused about
(dirEntry.entries = entries).forEach(entry => {
if (entry.isDirectory) {
dirsLeft++;
helper(entry);
}
});
if (!dirsLeft) {
callback(rootEntries);
}
});
}
helper(dirEntry, true);
}
我还不能运行这段代码,因为它只是一个片段,所以我还在剖析它
我不知道的部分是(dirEntry.entries=entries)。我试图查找assignment foreach
,equal foreach
,但没有结果
这个操作/语法调用了什么,它做了什么?它只是一个普通的变量赋值-然而,将它放在括号中意味着你在赋值dirEntry.entries
条目的值entries
,并用相同的语句迭代条目
,它只是以下的简写:
dirEntry.entries = entries;
entries.forEach(entry => {...});
这只是一个普通的变量赋值-然而,将其放在括号中意味着您正在赋值dirEntry.entries
条目的值entries
,并使用相同的语句迭代条目
-它只是以下的缩写:
dirEntry.entries = entries;
entries.forEach(entry => {...});
这不是别的东西,而是赋值表达式(dirEntry.entries=entries)
将返回条目的值,该值将应用于forEach
,并且在dirEntry.entries
中返回到entires
。它在一行中处理事情
- 将
data.entires
的值更改为entires
- 返回应用了
forEach
的entires
这不是别的东西,而是赋值表达式
(dirEntry.entries=entries)
将返回条目的值,该值将应用于forEach
,并且在dirEntry.entries
中返回到entires
。它在一行中处理事情
- 将
data.entires
的值更改为entires
- 返回应用了
forEach
的entires
它只是一个赋值,并在数组上立即执行forEach
,该数组现在由条目和dirEntry引用。entries
它只是一个赋值,并在数组上立即执行forEach
,该数组现在由条目和引用dirEntry.entries
这只是一个懒汉,他想通过按键来拯救自己。相当于
dirEntry.entries = entries;
entries.forEach(...)
这只是一个懒惰的家伙试图拯救自己。相当于
dirEntry.entries = entries;
entries.forEach(...)
不用担心@IshouldchangemyUsername,总是乐于帮助。不用担心@IshouldchangemyUsername,总是乐于帮助。如果你想知道它叫什么,它就是“分组运算符”:如果你想知道它叫什么,它就是“分组运算符”: