【发布时间】:2019-04-21 00:59:42
【问题描述】:
例如,假设我们有两个版本的延迟加载(参见下面的代码)。在性能方面,第二版是否比第一版更好?
const imgs = document.querySelectorAll('img');
window.addEventListener('scroll' , lazyload);
// version I
function lazyload() {
imgs.forEach((img) => {
if (img.offsetTop < window.innerHeight + window.pageYOffset) {
img.src = img.dataset.src;
}
}
}
// version II
function lazyload() {
const innerHeight = window.innerHeight;
const pageYOffset = window.pageYOffset;
imgs.forEach((img) => {
if (img.offsetTop < innerHeight + pageYOffset) {
img.src = img.dataset.src;
}
}
【问题讨论】:
-
这尖叫着过早的优化。你确定如果一个更快真的很重要吗?
-
如果可以,请将您的实际代码作为文本编辑到您的问题中 - 代码单独的图像是tedious and difficult,可以使用和调试.它迫使那些本来愿意帮助你的人首先transcribe your image,这是浪费时间。
-
欣,欢迎来到 Stack Overflow!你的问题很好,我认为,非常重要。我怀疑否决票是因为图像代码,现在已修复。请不要因提问和回答而气馁。 :-)
-
谢谢迈克尔!你真好~@MichaelCrenshaw
标签: javascript web-performance