微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 在JavaScript中的returnTrue和returnFalse函数

我不禁要注意,在jQuery的源代码中有两个看似无用的功能(对于v1.9.1,它是第2702行和第2706行):
function returnTrue() {
    return true;
}

function returnFalse() {
    return false;
}

这两者在jQuery中经常被称为.有没有理由为什么他们不会用布尔值true或false代替函数调用

解决方法

它是这样使用的:
stopImmediatePropagation: function() {
    this.isImmediatePropagationStopped = returnTrue;
    this.stopPropagation();
}

这里是ImmediatePropagationStopped是一种查询方法.使用像这个event.isImmediatePropagationStopped()

当然,您可以定义一个实例方法,如:

event.prototyoe.isImmediatePropagationStopped = function() { return this._isImmediatePropagationStopped };

stopImmediatePropagation: function() {
    this._isImmediatePropagationStopped = true; //or false at other place.
    this.stopPropagation();
}

但是你必须引入一个新的实例属性_isImmediatePropagationStopped来存储状态.

通过这个技巧,您可以在这里切断一些实例属性以保持true / false状态,如_isImmediatePropagationStopped,_isDefaultPrevented等.

所以在我看来,这只是一个代码风格的问题,不是对或错.

PS:事件的查询方法,如isDefaultPrevented,isPropagationStopped,isImmediatePropagationStopped在DOM事件级别3中定义.

规格:http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/events.html#Events-Event-isImmediatePropagationStopped

原文地址:https://www.jb51.cc/js/153935.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐