jquery:返回true或false

jquery:返回true或false,jquery,Jquery,可能重复: 我们都有一些jquery代码,如下所示: $('#MySelector').somefunction(function () { // do something }); 包含返回声明是否有好处/惩罚?我们应该返回true还是false?现在,我想说我的代码在没有返回语句的情况下运行良好,但我想知道在我描述的上下文中返回语句会做什么 感谢您的澄清。在这种情况下,如果您使用 return false; 它中止function(){},并在可能的情况下继续只有在您希望过早退

可能重复:

我们都有一些jquery代码,如下所示:

$('#MySelector').somefunction(function () {

   // do something

});
包含返回声明是否有好处/惩罚?我们应该返回true还是false?现在,我想说我的代码在没有返回语句的情况下运行良好,但我想知道在我描述的上下文中返回语句会做什么


感谢您的澄清。

在这种情况下,如果您使用

return false;

它中止
function(){}
,并在可能的情况下继续

只有在您希望过早退出函数和/或需要将函数结果的值赋给变量时,返回某些内容才是有益的:

var foo = calculate(1,2); // foo = 3

function calculate(a,b){
    return a+b;
}

您将匿名函数作为参数传递给
somefunction
,因此这实际上取决于
somefunction
如何处理该参数。真正重要的是
somefunction
返回什么。例如,假设它是这样定义的:

$.fn.somefunction = function ( fnParam ) {
  var returnVal = fnParam();

  if (returnVal) {
    // do something
  } else {
    // do something else
  }

  return this;
};
因此,这里我们将
fnParam
的返回值指定给一个变量,并使用该变量确定
somefunction
中的操作
somefunction
返回
this
,这将是传递给它的jQuery对象(在您的示例中是
$('#MySelector')
)。由于返回
this
somefunction
可以与其他jQuery方法链接,如:

$('#MySelector').somefunction(function(){ // blah })
                .css('background','yellow')
                .appendTo('body')
                .show();

对于
return false
,这是一本很好的读物。

我不知道,
somefunction
做了什么?…在我描述的上下文中。“你没有描述任何已知的上下文,除非有一个
somefunction
插件,除了我以外的所有人都知道。我想他确实知道在你的情况下它意味着什么。”。他想知道在上下文$(“body”).some(function(){return;})的情况下会发生什么;是的,我是这么想的,但这是一个非常荒谬的问题,所以我还是不确定;)