ホームページ >ウェブフロントエンド >jsチュートリアル >apply() メソッドと call() メソッドは何をするのでしょうか?

apply() メソッドと call() メソッドは何をするのでしょうか?

不言
不言転載
2019-03-25 14:14:412604ブラウズ

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

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。