1. 程式人生 > >js中函式返回值return

js中函式返回值return

全棧工程師開發手冊 (作者:欒鵬)

函式返回值

1、所有函式都有返回值,沒有return語句時,預設返回內容為undefined,和其他面向物件的程式語言一樣,return語句不會阻止finally子句的執行。

function testFinnally(){
    try{
        return 2;
    }catch(error){
        return 1;
    }finally{
        return 0;
    }
}
testFinnally();//0

2、如果函式呼叫時在前面加上了new字首,且返回值不是一個物件,則返回this(該新物件)。

function fn(){
    this.a = 2;
    return 1;
}
var test = new fn();
console.log(test);//{a:2}
console.log(test.constructor);//fn(){this.a = 2;return 1;}

3、如果返回值是一個物件,則返回該物件。

function fn(){
    this.a = 2;
    return {a:1};
}
var test = new fn();
console.log(test);//{a:1}
console.log(test.constructor);//Object() { [native code] }