call()とappy()

1263 ワード

JavaScriptでは、関数は対象です.JavaScript関数にはその属性と方法があります.
コール 和 appy() は、予め定義されている関数の方法です.2つの方法は、関数を呼び出すために使用することができます.2つの方法の最初のパラメータは、オブジェクト自体でなければなりません.
function myFunction(a, b) {
    return a * b;
}
myObject = myFunction.call(myObject, 10, 2);     //    20
function myFunction(a, b) {
    return a * b;
}
myArray = [10, 2];
myObject = myFunction.apply(myObject, myArray);  //    20
両方法は,最初のパラメータとして対象自身を使用した.
二つの違いは、二つ目のパラメータにあります.applyは一つのパラメータ配列、つまり複数のパラメータを組み合わせて一つの配列にして入ってきます.callはcallのパラメータとして入ってきます.
JavaScript厳格モードでは、関数を呼び出す時に最初のパラメータが this の値を返します.このパラメータがオブジェクトでなくても.
JavaScript非厳密モードでは、最初のパラメータの値がnullまたはundefinedであれば、グローバルオブジェクトを使用して置換されます.