Call()メソッドとApply()メソッドは、上層アプリケーションではあまり使用されませんが、下層にJSフレームワークを書くときによく見られます。その後、しばらくして、DuniangのGu兄弟Guは、多くのマスターが自分の理解とメモを書いていることを発見しましたが、彼らはまだ霧の中にいたので、勉強のためにW3Cに行きました。
W3Cでこれら2つの方法をオンラインで勉強するとき、「Object Impersonation」という単語を見ました。この概念は非常に重要だと思います。これにより、これら2つの方法を理解するのがより直感的になります。
()メソッド、公式の例を参照してください
関数sayscolor(sprefix、ssuffix){alert(sprefix + this.color + ssuffix);}; var obj = new object(); obj.color = "blue"; saycolor.call(obj、 "the color is"、 "" a very nice coler ");最終的な出力は「色は青で、本当に素敵な色」です。
call()メソッドは、メソッドのこれを最初のパラメーターに置き換え、次のパラメーターを使用するメソッドに渡すことです。
適用()方法、まず公式の例を見てみましょう
関数sayscolor(sprefix、ssuffix){alert(sprefix + this.color + ssuffix);}; var obj = new object(); obj.color = "blue"; saycolor.apply(obj、new Array( "color is"、 "a very fick coler");最終的な出力はまだ「色は青で、本当に素敵な色」のように見えます。
実際、call()メソッドとApply()メソッドは、ほぼ類似していると見なすことができます。最初のパラメーターは、メソッドのこのキーワードの置換ですが、メソッドに渡された引数は異なります。通話は直接的な対応であり、適用されるのは、配列に1つずつ対応する配列です。
JavaScriptのCall()およびApply()の上記の理解は、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。