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;})的情况下会发生什么;是的,我是这么想的,但这是一个非常荒谬的问题,所以我还是不确定;)