javascript – 在JavaScript中的returnTrue和returnFalse函数

前端之家收集整理的这篇文章主要介绍了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

猜你在找的JavaScript相关文章