在看https://zhuanlan.zhihu.com/p/...
里面一段代码
var supportsPassive = false;
try {
var opts = Object.defineProperty({}, 'passive', {
get: function() {
supportsPassive = true;
}
});
window.addEventListener("test", null, opts);
} catch (e) {}
// Use our detect's results.
// passive applied if supported, capture will be false either way.
elem.addEventListener(
'touchstart',
fn,
supportsPassive ? { passive: true } : false
);
请问window.addEventListener("test", null, opts); 中test表示什么?
啥也不是,你理解歪了,你可以把test定义成任意的合法字符串,这里写成test是要告诉你这是一个无意义的注册,永远不会被触发.
test不是核心点,核心是利用事件注册机制来执行 opts中的getter。