関数の戻り値
関数内の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 サイトの他の関連記事を参照してください。