使用return注意点

在javascript函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。但是在javascript引擎有一个在行末自动添加分号的机制,这可能让你栽到return语句的一个大坑:

function foo(){
    return {name:"foo"};
}   
foo(); // {name:"foo"};

如果把return 语句拆成两行:

function foo(){
    return 
        {name:"foo"}; 
}
foo(); // undefined; 
要小心了,由于javascript引擎在行末自动添加分号的机制,上面的代码实际上成了:
function foo(){
    return ; // 自动添加了分号,相当于 return undefined;
        {name:"foo"};  // 此语句已经没法执行到了
}

所以正确的多行写法是:
function foo(){
    return {   // 这里不会自动加分号,因为{ 表示语句尚未结束;
        name: "foo"; 
    } 
}

你可能感兴趣的:(前端)