Comments (8)
timeout = null设置为null,不仅仅是为了防止内存泄漏,而是clearTimeout(timeout)后,timeout的值并不会清空,如果不设置为null,就不能根据!timeout设置下次的timeout
from underscore-analysis.
问个问题,remaing > wait 这种情况好像不可能发生吧
from underscore-analysis.
有注释
// remaining > wait,表示客户端系统时间被调整过
from underscore-analysis.
@hanzichi 不好意思,眼拙了- -
from underscore-analysis.
大神,想问下这里:
previous = options.leading === false ? 0 : _.now();
这里previous始终赋值为_.now()感觉也是可以正常运行的,不太明白为何这里要做这个选择.if (!previous && options.leading === false)
这里感觉去掉!previous也可以运行, 也不太明白为何要增加这样一个判断
from underscore-analysis.
@ginnko
1、如果是在leading为false的情况下,每次触发后一定会延迟wait时间才会调用later函数,如果将这个判断去掉,那么会出现一种情况就是,我执行later后很长时间(超过wait)没有触发(比如我触发scroll的时候突然我就不滚动页面了),那么now-previous就会大于wait,导致remaining为负数,会直接调用func函数,这样这次执行就不会延迟wait时间了。
2、这种情况下我就不清楚了,看起来只会在leading和trailing同时为false的时候去掉!previous才会出现问题,这个时候如果去掉!previous会导致func函数永远不会执行,但是看他们并不推荐两个同时为false
from underscore-analysis.
@ginnko 2去掉之后remaining就一直等于wait,if 语句还怎么执行
from underscore-analysis.
@anotherleon
if语句是肯定不会执行了,但是会走else if语句,下面还是可以正常运行的。
from underscore-analysis.
Related Issues (20)
- JavaScript 数组乱序 HOT 13
- 浅谈 underscore 内部方法 group 的设计原理 HOT 3
- 带注释的源码中var _ = function (obj) {....}中有个疑问 HOT 4
- 关于 bind 你可能需要了解的知识点以及使用场景 HOT 2
- bind 方法的兼容实现 HOT 1
- JavaScript 函数节流和函数去抖应用场景辨析 HOT 17
- underscore 函数去抖的实现 HOT 20
- 从斐波那契数列求值优化谈 _.memoize 方法 HOT 6
- Function Functions 相关源码拾遗
- 浅谈 Web 中前后端模板引擎的使用 HOT 19
- Underscore _.template 方法使用详解 HOT 3
- Underscore 整体架构浅析 HOT 15
- 源码解读这半年 HOT 20
- 疑问:模块导出中,向后兼容老的require() API HOT 1
- 源码
- 打扰一下,有一个问题想咨询你一下 HOT 9
- 你好请教个问题 HOT 1
- 你好...在谷歌浏览器中运行`Object.prototype.toString().call(abb)`会报错 //var abb = true HOT 2
- 關於underscore源碼中提到了25個扩展方法之疑問? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from underscore-analysis.