Javascript 为什么jquery有一个函数";returnTrue();及;returnFalse();那只是返回真与假?
据 jquery中event.js中有两个函数返回true和false: 来自events.jsJavascript 为什么jquery有一个函数";returnTrue();及;returnFalse();那只是返回真与假?,javascript,jquery,Javascript,Jquery,据 jquery中event.js中有两个函数返回true和false: 来自events.js function returnTrue() { return true; } function returnFalse() { return false; } 我知道他们很好。但我不明白为什么会这样 你看了看它们在哪里使用了吗 它们用作需要返回布尔值的函数的赋值的存根 例如,在同一文档的第670行: this.isDefaultPrevented = returnTrue; i
function returnTrue() {
return true;
}
function returnFalse() {
return false;
}
我知道他们很好。但我不明白为什么会这样 你看了看它们在哪里使用了吗 它们用作需要返回布尔值的函数的赋值的存根 例如,在同一文档的第670行:
this.isDefaultPrevented = returnTrue;
isDefaultPrevented是一个函数。因此,它需要一个返回true作为默认功能的函数。考虑它们的用法:
// Events bubbling up the document may have been marked as prevented
// by a handler lower down the tree; reflect the correct value.
this.isDefaultPrevented = src.defaultPrevented ||
// Support: Android < 4.0
src.defaultPrevented === undefined &&
src.getPreventDefault && src.getPreventDefault() ?
returnTrue :
returnFalse;
//文档中冒泡的事件可能已被标记为已阻止
//由一个处理者降下树;反映正确的值。
this.isDefaultPrevented=src.defaultPrevented||
//支持:安卓<4.0
src.defaultPrevented==未定义&&
src.getPreventDefault&&src.getPreventDefault()?
returnTrue:
返回错误;
跨多个函数执行此操作或类似操作。键入
returnTrue
比每次都要拼写function(){return true;}
要容易得多,不是吗?代码重用和可读性。与在多个不同的位置使用isDefaultPrevented=function(){return true;}
相比,进行这些赋值是否会节省内存(尽管是最低限度的),因为每次都会引用单个函数对象,而不是创建一个新的?@Adam-它可能会节省一些内存,或者可能已经被编译器/interpeter优化为相同的内存。它也可能(在一些人看来)更容易阅读——这段代码的选择主要是风格的问题——我认为它是好的风格,因为它易于阅读。这可能有助于你理解