JSは自身のresend_javascript手法を実装します

WBOY
リリース: 2016-05-16 18:22:37
オリジナル
1166 人が閲覧しました

ECMA V5 では、待望のメソッド Object.getPrototypeOf が定義されており、型情報に関係なくオブジェクトのプロトタイプ ([[prototype]]) を取得できます。これに基づいて再送信を構築できます。(Chrome 5、IE9 を使用してください。)プレビュー 3 番目のバージョンのテスト)

コードをコピー コードは次のとおりです:

obj.resend = function () {
var pof = Object.getPrototypeOf;
var has = function() {......} // hasOwnProperty カプセル化
var make = function(obj, old) {
return function(name, args) {
var step = pof(obj),
r;
while (step && !has(step, name)) step = pof(step); if (!step) throw new Error('再送信できません: メソッドが見つかりません');

var foundMethod = step[name];
varbackup = argument.callee; make(this,backup);
r = foundMethod.apply(this, Array.prototype.slice.call(arguments, 1));
return r
}
};

return function(name, args__) {
var old = this.resend
this.resend = make(this, old); 🎜>rv = this.resend.apply(this, argument);
this.resend = オリジナル;
}
}()
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!