js中函式返回值return
阿新 • • 發佈:2019-02-19
全棧工程師開發手冊 (作者:欒鵬)
函式返回值
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] }