色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

JS實現self的resend

ECMA V5定義了一個期待已久的方法:Object.getPrototypeOf,它可以無視型別信息得到某對象的原型([[prototype]]),基于此,我們可以構造出一個resend:(請用Chrome 5、IE9預覽第三版測試)
復制代碼 代碼如下:
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('Unable to resend: method missing');

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

return function(name, args__) {
var rv;
var old = this.resend;
this.resend = make(this, old);
rv = this.resend.apply(this, arguments);
this.resend = original;
return rv;
}
}()

JavaScript技術JS實現self的resend,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 龙江县| 美姑县| 平湖市| 恭城| 桃江县| 当阳市| 昂仁县| 翼城县| 武定县| 绍兴市| 横山县| 合阳县| 江陵县| 墨玉县| 施甸县| 喀喇沁旗| 鄱阳县| 扶绥县| 汤原县| 河间市| 桓台县| 武冈市| 红原县| 朔州市| 灵宝市| 莒南县| 孙吴县| 枣庄市| 苏尼特右旗| 水城县| 松阳县| 广汉市| 富阳市| 马边| 平阴县| 唐山市| 内黄县| 永靖县| 衡阳县| 青神县| 克东县|