jquery:返回true或false

时间:2011-08-01 01:44:26

标签: jquery

  

可能重复:
  How do you know when to return false from a jQuery function?

我们都有一些看起来像这样的jquery代码:

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

   // do something

});

包含退货声明是否有利益/罚款,我们应该返回真假吗?现在,我说我的代码在没有return语句的情况下工作正常,但我想知道return语句在我描述的上下文中会做什么。

感谢您的澄清。

4 个答案:

答案 0 :(得分:2)

对于return false,这是一个很好的阅读,jQuery Events: Stop (Mis)Using Return False

答案 1 :(得分:1)

您将匿名函数作为参数传递给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')中)。由于您返回thissomefunction可以与其他jQuery方法链接,如:

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

答案 2 :(得分:0)

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

return false;

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

答案 3 :(得分:0)

如果你想提前退出函数和/或你需要将函数结果的值赋给变量,那么返回一些东西才有用:

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

function calculate(a,b){
    return a+b;
}
相关问题