call と apply はこれを動的に変更するように見えますが、あるオブジェクトに特定のメソッドがない場合、他のオブジェクトのメソッドを使用して操作するために call または apply を使用できます。この記事では主に js での apply と call の簡単な使い方を詳しく紹介しますので、興味のある方はぜひ参考にしてください。
call と apply は、JavaScript エンジンによって内部的に実装される Function.prototype のメソッドであり、Function.prototype に属するため、各 Function オブジェクトのインスタンス、つまり各メソッドはメソッドであるため、call 属性と apply 属性を持ちます。これら 2 つのメソッドは同じ機能を持っているため、混同しやすいですが、上記のことから、call と apply はメソッドとして使用されると結論付けることができます。 , メソッドを呼び出す this ポインタを変更するには
function A() { this.getName = function (xx) { return xx; } } function B() { } var a = new A(); console.log( a.getName('i am A') ); //i am A var b = new B() ; console.log( a.getName.call(b,'i am B') ); // i am B
function A() { this.sun = function (a ,b) { return a+b; } } function B() { } var a = new A(); console.log( a.sun(1,2) ); //3 var b = new B() ; console.log( a.sun.call(b,2,2) ); // 4 console.log( a.sun.apply(b,[3, 3]) ); //6
var domNodes = Array.prototype.slice.call(document.getElementsByTagName("*"));
関数本体の内部ポイントを変更するためのJavaScriptでのapplyとcallの使用例の詳細な説明
Jsのここがポイントapply() と binding() の問題
以上がjsでのapplyとcallの簡単な使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。