首頁 > web前端 > js教程 > javascript基礎教學之函數傳回值return語法實例詳解

javascript基礎教學之函數傳回值return語法實例詳解

伊谢尔伦
發布: 2017-07-25 10:10:42
原創
1858 人瀏覽過

函數傳回值

  函數中的return語句用來傳回函數呼叫後的回傳值

return expression;
登入後複製

  return語句只能出現在函數體內,如果不是會報語法錯誤

return 1;//SyntaxError: Illegal return statement
登入後複製

  如果沒有return語句,則函數呼叫僅依序執行函數體內的每一語句直到函數結束,最後返回呼叫程式。在這種情況下,呼叫表達式的結果是undefined

var test = function fn(){}
console.log(test);//undefined
登入後複製

  當執行到return語句時,函數終止執行,並傳回expression的值給呼叫程式

var test = function fn(){    
  return 2;
};
console.log(test());//2
登入後複製

  [注意]並不是函數中return語句後的所有語句都不執行,finally語句是例外,return語句不會阻止finally子句的執行

function testFinnally(){
    try{
        return 2;
    }catch(error){
        return 1;
    }finally{
        return 0;
    }
}
testFinnally();//0
登入後複製

 [注意]由於javascript可以自動插入分號,因此在return關鍵字和它後面的表達式之間不能有換行

var test = function fn(){    
   return  2;
};
console.log(test());//undefined
登入後複製

  一個函數中可以有多個return語句

function diff(iNum1, iNum2) {
  if (iNum1 > iNum2) {
    return iNum1 - iNum2;
  } else {
    return iNum2 - iNum1;
  }
}
登入後複製

return語句可以單獨使用而不必帶有expression,這樣的話也會向呼叫程式傳回undefined

var test = function fn(){    
   return;
};
console.log(test());//undefined
登入後複製

  return語句經常作為函數內的最後一條語句出現,這是因為return語句可用於使函數提前傳回。當return被執行時,函數立即返回而不再執行餘下的語句

//并没有弹出1
var test = function fn(){
    return;
    alert(1);
};
console.log(test());//undefined
登入後複製

如果函數調用時在前面加上了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;}
登入後複製

如果傳回值是一個對象,則傳回該對象

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

以上是javascript基礎教學之函數傳回值return語法實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板