ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript基本チュートリアルにおける関数の戻り値の戻り構文例の詳細な説明

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

伊谢尔伦
伊谢尔伦オリジナル
2017-07-25 10:10:421832ブラウズ

関数の戻り値

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。