JavaScript后缀了一个用于限制事件的布尔值/一次性标志
JavaScript postfix a boolean / one-shot flag for throttling an event
我想使用一次标志,然后在表达式返回truthiness后将其转换为false:
var isProceding = true;
someObject.addEventListener("someEvent", doOnce); // event fires many times
function doOnce () {
if (isProceding) {
isProceding = false; // i want to join this line with the previous
// do stuff
someObject.removeEventListener("someEvent", doOnce);
}
}
来自jsperf
if (!isDone++) {
343020200单强制修复后
if (isProceding && isProceding--) {
342466581短路修复后
if (isProceding) { isProceding = false;
338360292标准
if (0 < isProceding--) {
278447221比较强制修复后
if (isProceding --> false) {
99883236双重强制后缀
因为一个数字在0 时只有假
var isDone = 0;
if (!isDone++) {
// do stuff
}
或
var isProceding = true;
if (isProceding --> false) {
// do stuff
}
相关文章:
- 如何从javascript/jquery中的复选框中获取布尔值
- KendoUI网格行过滤器,带有布尔值下拉列表
- php布尔值's小写AND大写和数字布尔值'可以接受
- select中布尔值的Angularjs ng值不起作用
- 由于布尔值的变化,Django视图中的字符串格式不正确
- 如何在onChange之前触发onClick事件(即使值已更改)
- MeteorJs Alded autoform,如何从布尔值复选框中获得所需值
- 将字符串动态转换为布尔值
- 将布尔值存储在隐藏字段中以进行表单处理
- 类型错误:布尔值不是 Angular 中登录函数的函数
- Yui Get 复选框返回数组而不是布尔值
- 为什么 1.2 == true 返回 false 如果布尔值 (1.2) 实际上是真的
- 为什么第一个将其视为布尔值,其次不将其视为布尔值
- 当值可能不是正确的布尔值时,如何测试 true
- jquery -ajax 不检查控制器的布尔值
- JS生成随机布尔值
- 如何在JavaScript中为ENTER事件充值
- 使用Angular更改JSON中存储的布尔值
- 如何检查类型是否为布尔值
- JavaScript后缀了一个用于限制事件的布尔值/一次性标志