Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 解释下划线.js中的这一行_Javascript_Underscore.js - Fatal编程技术网

Javascript 解释下划线.js中的这一行

Javascript 解释下划线.js中的这一行,javascript,underscore.js,Javascript,Underscore.js,你能给我解释一下下划线.js语句中的一行吗: 我不明白这一行(result=result&&iterator.call…为什么他在等式的右边需要result。作者只是想把iterator.call(…)转换成布尔值吗?例如,他想做的只是 if (!(result = !!iterator.call(context, value, index, list))) // "!!" used 与您的声明不同的是,您给result的是!!迭代器最后一个值的值。call而在原始代码中,只要迭代器,resu

你能给我解释一下下划线.js语句中的一行吗:

我不明白这一行
(result=result&&iterator.call…
为什么他在等式的右边需要
result
。作者只是想把
iterator.call(…)
转换成布尔值吗?例如,他想做的只是

if (!(result = !!iterator.call(context, value, index, list))) // "!!" used

与您的声明不同的是,您给
result
的是
!!迭代器最后一个值的值。call
而在原始代码
中,只要
迭代器,result
就是
false
。call
返回
false
至少一次迭代


在原始代码中,
result
true
仅当
迭代器时。call
所有迭代返回true。

我同意,在原始代码中,如果调用返回false,它将永远不会被再次调用。但是在代码中,如果将false分配给
result
函数,那么它会立即返回larly在这段代码中,我的代码行不会改变任何东西?不会?它从传递给
每个
的回调返回,它不会中断循环。
中断
是一个不可变的对象,如果返回,它会中断循环。我的声明是,我的原始代码行中的更改不会改变函数的行为。
if (!(result = !!iterator.call(context, value, index, list))) // "!!" used