返回JavaScript函数末尾的语句

时间:2010-03-05 10:13:21

标签: javascript

我在JavaScript代码中多次看到人们在最后添加return true,尽管没有必要。有谁知道为什么?

var _globalString;
function doSomething()
{
    _globalString= _globalString +' do something';
    //some codes to do something more

    //finally adding a return true
    return true;
}

6 个答案:

答案 0 :(得分:19)

可能让一些人养成这种习惯的事情是表格的事件处理程序,如果你有,请说:

<form onsubmit="return myfunction();">

myfunction()返回true,表单提交,否则如果返回false则不返回。一般来说,人们都可以养成这个习惯。有些语言需要函数的返回值,Javascript不需要;并且在大多数功能结束时return true没有用处。

答案 1 :(得分:3)

除了Erik的回答,我想补充一下

当您希望将布尔值作为返回值时,也会使用

return true / return false 。并根据该返回执行其他一些功能。

答案 2 :(得分:3)

函数内部的“return”会自动停止执行该函数,例如:

function myFunc(){
    if(foo == 'bar'){
     /* do something */
    }else{
     /* do something */
    }
}

与:

相同
function myFunc(){
    if(foo == 'bar'){
        /* do something */
        return true;
    }

    /* if foo != 'bar' then whatever follows is executed... */

}

答案 3 :(得分:0)

实际上,如果你在onsumbit事件中调用该函数

示例

 

<input type=sumit value=click Onsumbit='return function_name();">

当您调用时,如果该函数仅返回true,则表单将提交

如果返回false,则不会提交表单

答案 4 :(得分:0)

在这种情况下,您也不需要使用返回true或false

var newPage = "http://www.google.com";
function redirectURL(){
   window.location.href= newPage;
   return true;      //no return required
}

答案 5 :(得分:-1)

很难说为什么有些程序员会做某些事情。

也许它意在表明成功/失败,但他们还没有添加任何失败的分支?