この記事の内容は、apply() メソッドと call() メソッドが何をするのかについてのものであり、一定の参考値を持っていますので、困っている友人は参考にしていただければ幸いです。
各関数には、apply() と call() という 2 つの非継承メソッドが含まれています。 ;
call と apply は両方とも Function.prototype のメソッドであるため、各関数インスタンスには call 属性と apply 属性があります;
Function
call() メソッドと apply() メソッドは同じ効果があります: このポインタを変更します。
違い
違いは、パラメーターの受け取り方法にあります。
call(): 最初のパラメーターは、この値が変更されていないことです。変更されたのは、他のパラメータは関数に直接渡されます。 call()
メソッドを使用する場合、関数に渡されるパラメーターを 1 つずつリストする必要があります。例: call(obj,a,b,c)
apply(): 関数に渡されるのはパラメータ配列です。例: apply(obj,[a,b,c])
コード:
function add(c, d){ return this.a + this.b + c + d; } var o = {a:1, b:3}; add.call(o, 5, 7); // 1 + 3 + 5 + 7 = 16 this指向o add.apply(o, [10, 20]); // 1 + 3 + 10 + 20 = 34 this指向o
この記事はここにあります。エキサイティングなコンテンツについては、次の記事があります。 PHP 中国語 Web サイトの JavaScript ビデオ チュートリアル 列に注目してください。
以上がapply() メソッドと call() メソッドは何をするのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。