javascript - jQuery 源代码中的 returnTrue 和 returnFalse 函数

标签 javascript jquery

我不禁注意到jQuery源代码中有两个看似无用的函数(对于v1.9.1,是第2702行和第2706行):

function returnTrue() {
    return true;
}

function returnFalse() {
    return false;
}

这两者在 jQuery 中经常被调用。为什么他们不简单地将函数调用替换为 bool 值 truefalse

最佳答案

如果对象属性、函数参数等需要一个函数,您应该提供一个函数,而不是一个 bool 值

例如在原生 JavaScript 中:

var a = document.createElement("a");
a.href = "http://www.google.com/";
/*
 * see https://developer.mozilla.org/en-US/docs/DOM/element.onclick
 * element.onclick = functionRef;
 * where functionRef is a function - often a name of a function declared 
 * elsewhere or a function expression.
 */
a.onclick = true;                        // wrong
a.onclick = returnTrue;                  // correct
a.onclick = function() { return true; }; // correct

另外,写作:

someProperty: returnTrue,

比写更方便:

someProperty: function(){
    return true;
},

特别是因为它们经常被调用

关于javascript - jQuery 源代码中的 returnTrue 和 returnFalse 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14745912/

相关文章:

javascript - 如何使用 jQuery 触发类更改事件?

javascript - 弹出窗口中的一组链接,用于使用设置的文本填充特定命名的字段

javascript - 是否可以从远程文件更改 BootstrapDialog 标题和其他属性?

javascript - 仅针对一个国家过滤 Google Places API

javascript - 如何获取对象键及其值

javascript - browser.tabs 在 firefox 扩展中未定义

javascript - 如何在 redux 中调度函数?

javascript - 运行 packager 时 React Native 命名冲突错误,由 "lodash"和 "yeoman-generator"引起

jquery - MVC + jQuery : how to create an input text through Html. TextBox() 并指定 "class"属性

jquery - 使用 PagedList 分页局部 View