如何解决如何用更好的版本替换 Javascript 的 forEach?
我的 Javascript 中不断出现 TypeError: Cannot read property 'forEach' of null
,因为我没有在 document.querySelectorAll()
调用后检查 null。
有没有办法在 Javascript forEach()
对象上创建一个特殊的 null
并且让它什么都不做,从而消除错误?或者,我们可以将我使用的 forEach()
替换为 .forEach2()
以便 forEach2()
不会对 null
执行任何操作吗?
例如:
var $ = s => document.querySelectorAll.bind(document)(s).length > 1 ? document.querySelectorAll.bind(document)(s) : document.querySelector.bind(document)(s);
$('FOOTER EM').forEach(function(el,i){
console.log(el);
});
如果FOOTER下没有EM,上面会为我生成一个错误,例如在运行时我有时会添加一些。
解决方法
有没有办法在 Javascript 空对象上创建一个特殊的 forEach()
,并且让它什么都不做
不完全是一个特殊函数,您可以为此使用 optional chaining 方法调用:
$('FOOTER EM')?.forEach(el => console.log(el));
// ^
但是,最好不要让您的 $
函数 return null
instead of an empty array:
const $ = s => document.querySelectorAll(s);
// or
// const $ = document.querySelectorAll.bind(document);
for (const el of $('FOOTER EM')) console.log(el);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。