今回は、JSメソッドを実装するためにキャッシュを呼び出す手順について詳しく説明します。JSメソッドを実装するためにキャッシュを呼び出す際の注意点は次のとおりです。 1.
メソッドのオーバーロードとは
詳細については左折してください: メソッド オーバーロード/Baidu 百科事典
2.jsを実装するには?
var seven={ dosomething:function(){ switch(arguments.length){ case 0: console.log(arguments.length); //dosomething break; case 1: console.log(arguments.length); //dosomething break; case 2: //dosomething console.log(arguments.length); break; } } }
ここで apply メソッドが使用されます。
7 つの addMethod
メソッドを書きましょう
var seven = { addMethod: function (fname, func) { var old = this[fname]; this[fname] = function () { if (arguments.length == func.length) { return func.apply(this,arguments); } if (typeof old == 'function') { return old.apply(this, arguments); } } } };
変更された 7 は上記の通りで、前に書いたスイッチは次のように実行できます:addMethod
方法
seven.addMethod('dosomething', function (x) { console.log(arguments.length); //dosomething }); seven.addMethod('dosomething', function (x,y) { console.log(arguments.length); //dosomething }); seven.addMethod('dosomething', function (x,y,z) { console.log(arguments.length); //dosomething });
修改后的seven如上,然后之前写的switch就可以这样搞了:
rrreee咱们要增加方法,只需要调用这个addMethod方法就ok了,是不是觉得简单明了,更加清晰。
那么这段代码的原理呢,其实也很简单,就是缓存旧方法,然后根据参数长度依次apply链式调用,直到找到和当前参数等长的方法~然后进行调用。
func
和 old
rrreee
つまり、このコードの原理は実際には非常に単純で、古いメソッドをキャッシュし、現在のパラメータと同じ長さのメソッドが見つかるまで、パラメータの長さに応じてチェーン呼び出しを順番に適用してから呼び出すというものです。
func
と old
は、初めて使用する人を混乱させる可能性がありますが、実際には、JavaScript 言語の機能が巧みに使用されています。 . この古いメソッドは毎回保存され、古いメソッドはその参照を保持します。閉店〜。
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。 推奨読書:
ES6 で全画面スクロール プラグインを実装する手順の詳細な説明
以上がキャッシュを呼び出してJSメソッドを実装する手順の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。