可能重复:
How do you know when to return false from a jQuery function?
我们都有一些看起来像这样的jquery代码:
$('#MySelector').somefunction(function () {
// do something
});
包含退货声明是否有利益/罚款,我们应该返回真假吗?现在,我说我的代码在没有return语句的情况下工作正常,但我想知道return语句在我描述的上下文中会做什么。
感谢您的澄清。
答案 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')
中)。由于您返回this
,somefunction
可以与其他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;
}