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

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

不言
リリース: 2019-03-25 14:14:41
転載
2627 人が閲覧しました

この記事の内容は、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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート