JavaScript基本チュートリアルにおける関数の戻り値の戻り構文例の詳細な説明

伊谢尔伦
リリース: 2017-07-25 10:10:42
オリジナル
1843 人が閲覧しました

関数の戻り値

関数内のreturnステートメントは、関数呼び出し後に戻り値を返すために使用されます

return expression;
ログイン後にコピー

returnステートメントは関数本体にのみ使用でき、そうでない場合は構文エラーが報告されます

return 1;//SyntaxError: Illegal return statement
ログイン後にコピー

If return ステートメントはなく、関数呼び出しのみです。関数本体内の各ステートメントは、関数が終了するまで順番に実行され、最後に呼び出し元プログラムに戻ります。この場合、expressionの呼び出し結果は未定義になります

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文は式なしで単独で使用することもできますこの場合、呼び出し元のプログラムにもunknownが返されます

var test = function fn(){    
   return;
};
console.log(test());//undefined
ログイン後にコピー

return文はよく使われます。これは、return ステートメントを使用して関数を早期に返すことができるためです。 return が実行されると、関数は残りのステートメントを実行せずにすぐに戻ります

//并没有弹出1
var test = function fn(){
    return;
    alert(1);
};
console.log(test());//undefined
ログイン後にコピー

新しいプレフィックスを先頭に付けて関数が呼び出され、戻り値がオブジェクトではない場合、これ (新しいオブジェクト) が返されます

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;}
ログイン後にコピー

If 戻り値がオブジェクトの場合、オブジェクトを返す

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基本チュートリアルにおける関数の戻り値の戻り構文例の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート