JS-Function復習


Functionはsub-programとも呼ばれます.inputパラメータを受信して処理し、outputを関数と呼びます.
関数はプログラムを構成する基本構造ブロックである.
Sub-program can be used multiple times.
performs a task or calculates a value.
  • Function declaration
  • function name(param1, param32) {
    body...return;
    }
    **one function does one thing.
    関数名を記述する場合は、動詞形式で指定することが望ましい.
    functionはobjectと見なされるため、変数に割り当てることもできるし、パラメータに渡して関数を返すこともできる.
    関数を使用する場合は、そのタイプを正確に知る必要があります.数値をパラメータに入れるとstringタイプが返されます.

  • Parameters
    premetive parameters: passed by value.
    obj parameters: passed by reference. メモリにreferenceに格納し、referenceを渡します.
    objでは、アドレスが参照されているため、関数でobjの値を変更すると、これらの変更はメモリに適用されます.

  • Default parameters:
    Example:
  • function showMessage(message, from = 'someone') {
    console.log(`${message} by ${from}` );
    }
    パラメータの値が渡されていないか、定義されていない値が表示されます.
    ただし、ECMA 6に最近追加された機能を使用してdefault値を設定し、上のparam 2のfromでfrom = 'someone'でsomeboとして指定できます.
  • Local Scope:
    ブロックに変数を宣言する場合は、領域変数と呼ばれ、ブロックにのみアクセスできます.
    外から近づくと、出力します.ただし、ブロック外の変数にはアクセスできます.
  • Return:
    パラメータ値を受信し、計算値を渡します.
  • early return? early exit?
    blockに多くの論理を書くのは可読性が悪いので、条件が適切でない場合は、関数が終了した後に条件が適切な場合にのみ、次に必要な論理を実行するのが望ましい.
    first-class function:
    functions are treated like any other variable
    can be assigend as a value to variable
    can be passed as an argument to other functions
    can be returned by another function.
    function expression? 関数式?
    1. a function declaration can be called earlier than it is defined (hoisted).
    2. a function expression is cereated when the execution reaches it
    関数に名前のないものを変数に割り当てることができます.(anonymous function).
    例)
    const print = function(){
    console.log (‘print’)
    }
    print();
    関数をprintに割り当てると、printのような変数に関数を呼び出すように、関数がすぐに起動します.
    const prtintAgain = print;
    printAgain();上の関数の操作が実行されます.
    function declarationとexpressionの最大の違いは、expが指定した後に呼び出すことができることです.
    宣言が選択されています.関数が宣言される前に呼び出されても呼び出すことができます.jsエンジンが最初に宣言されたからです.
    Callback function using function expression
    function randomQuiz(answer, prtintYes, printNo) {
    if (answer === ‘love you’){
    prtingYes();
    } else{
    printNo();
    }
    }
    上記の関数は、2つの関数を渡します.答えが正しいときに呼び出される関数、答えが間違っているときに呼び出される関数、および合計2つの関数です.
    このような伝達関数は、状況に応じて伝達関数であり、コールバック関数と呼ばれる.
    2つのコールバック関数(printYes&printNo)がパラメータに渡されます.(2つの式)
    式で名前付き関数を使用する理由は、デバッグ時にwalshをスタックするためですか?関数の名前をにします.
    Arrow Function:
    関数を簡潔にします.いつも名前のないanonymous関数です.
    矢印関数はブロックもキーワードfunctionも必要ありません.=>を使用して直接関数を作成できます.
    blockを使うと必ずreturnを使います!
    IIFE?
    immediately invoked function expression
    関数を宣言する場合は、後で個別に関数を呼び出す必要がありますが、宣言と同時に関数を呼び出す場合は、関数を宣言した直後にカッコで囲みます()関数をすぐに呼び出すことができます.
    fun quiz:
    function calculate(command, a, b)
    command: (add, subtract, divide, multiply, remainder)
    他の人が入ったらどうなるか決めます.