我需要使用
querySelector
(不是 querySelectorAll
,因为最多有一个这样的元素)对 DOM 中可能存在或不存在的元素执行一个函数。我能设计出的最优雅的解决方案是:
(function (element) {
if (element) {
[business logic of the function]
}
}(document.querySelector([css selector])));
目标是如果 querySelector
不返回元素,则根本不调用该函数。 (如果没有找到匹配元素,则返回 querySelector
。)
目前,我能想到的唯一方法是:将返回值传递给函数,并在继续函数工作之前检查函数返回值是否为假。
如果
null
的返回不是一个元素,是否有一种优雅的方式 not
来调用该函数?
再次,我不想使用 querySelector
,因为最多有一个元素与
querySelectorAll
匹配。当前解决方案的优点在于它依赖于匿名函数,并且无需创建显式变量(使用 querySelector
或
var
),因为该函数提供了用于传递的参数。
您可以在
let
语句中为变量赋值。if