【发布时间】:2018-09-20 06:35:15
【问题描述】:
我收到一个 eslint 错误: [eslint] 'do...while' 语句中的意外分配。 (无条件分配)
为什么会这样? 我能做些什么来修复它? 为什么我不允许这样做?为什么这是不好的做法?
window.smoothScroll = function (target) {
let scrollContainer = target;
do {
scrollContainer = scrollContainer.parentNode;
if (!scrollContainer) return;
scrollContainer.scrollTop += 1;
} while (scrollContainer.scrollTop === 0);
let targetY = 0;
do {
if (target === scrollContainer) break;
targetY += target.offsetTop;
} while (target = target.offsetParent);
const scroll = (c, a, b, i) => {
i += 1; if (i > 30) return;
c.scrollTop = (((a + (b - a)) / 30) * i);
setTimeout(() => { scroll(c, a, b, i); }, 10);
};
scroll(scrollContainer, scrollContainer.scrollTop, targetY, 0);
};
【问题讨论】:
标签: javascript ecmascript-6 eslint