点击上方 前端Q,关注公众号回复加群,加入前端Q技术交流群前言JavaScript 语言的内核足够大,导致我们很容易误解它的某些部分是如何工作的。我最近重构了一些使用 every ()方法的代码,并且发现我并不真正理解every()的逻辑。在我看来,我认为回调函数必须被调用并返回 true的时候every() 才能返回 true,但事实并非如此。但是对于空数组,不管回调函数是什么,every ()都返回 true,因为根本不会调用该回调函数。看一下例子:js复制代码function isNumber(value) { return typeof value === "number";}[1].every(isNumber); // true["1"].every(isNumber); // false[1, 2, 3].every(isNumber); // true[1, "2", 3].every(isNumber); // false[].every(isNumber); // true在此示例的每种情况下,均调用 every ()来检查数组中的每一项是否为数
………………………………