JS实现self的resend


Posted in Javascript onJuly 22, 2010

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异或加解密效果代码
Jun 25 Javascript
extjs fckeditor集成代码
May 10 Javascript
基于jquery的button默认enter事件(回车事件)。
May 18 Javascript
node.js不得不说的12点内容
Jul 14 Javascript
node.js从数据库获取数据
May 08 Javascript
详解JavaScript中的事件流和事件处理程序
May 20 Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
Nov 21 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
Dec 16 Javascript
浅谈jquery拼接字符串效率比较高的方法
Feb 22 Javascript
react开发教程之React 组件之间的通信方式
Aug 12 Javascript
基于vue监听滚动事件实现锚点链接平滑滚动的方法
Jan 17 Javascript
vue基于两个计算属性实现选中和全选功能示例
Feb 08 Javascript
JavaScript编程开发中的五个实用小技巧
Jul 22 #Javascript
关于javascript DOM事件模型的两件事
Jul 22 #Javascript
JavaScript 事件系统
Jul 22 #Javascript
(function($){...})(jQuery)的意思
Jul 22 #Javascript
用js实现的模拟jquery的animate自定义动画(2.5K)
Jul 20 #Javascript
一个简单的js动画效果代码
Jul 20 #Javascript
dess中一个简单的多路委托的实现
Jul 20 #Javascript
You might like
PHP如何通过表单直接提交大文件详解
2019/01/08 PHP
javascript实现划词标记+划词搜索功能
2007/03/06 Javascript
javascript动画浅析
2012/08/30 Javascript
Dom 学习总结以及实例的使用介绍
2013/04/24 Javascript
轻松实现Bootstrap图片轮播
2020/04/20 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
JS中取二维数组中最大值的方法汇总
2016/04/17 Javascript
jQuery实现页面点击后退弹出提示框的方法
2016/08/24 Javascript
JS解决iframe之间通信和自适应高度的问题
2016/08/24 Javascript
JavaScript中捕获与冒泡详解及实例
2017/02/03 Javascript
详解使用Node.js 将txt文件转为Excel文件
2017/07/05 Javascript
js实现音乐播放控制条
2017/09/09 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
vue.js内置组件之keep-alive组件使用
2018/07/10 Javascript
javascript异步编程的六种方式总结
2019/05/17 Javascript
node express使用HTML模板的方法示例
2019/08/22 Javascript
基于JavaScript伪随机正态分布代码实例
2019/11/07 Javascript
vue中watch和computed的区别与使用方法
2020/08/23 Javascript
OpenLayer3自定义测量控件MeasureTool
2020/09/28 Javascript
[50:48]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
以一段代码为实例快速入门Python2.7
2015/03/31 Python
tensorflow实现对图片的读取的示例代码
2018/02/12 Python
解决Python获取字典dict中不存在的值时出错问题
2018/10/17 Python
scrapy-redis的安装部署步骤讲解
2019/02/27 Python
Python对HTML转义字符进行反转义的实现方法
2019/04/28 Python
python简单实现矩阵的乘,加,转置和逆运算示例
2019/07/10 Python
有关Tensorflow梯度下降常用的优化方法分享
2020/02/04 Python
Django 项目布局方法(值得推荐)
2020/03/22 Python
Stührling手表官方网站:男女高品质时尚手表的领先零售商
2021/01/07 全球购物
Yahoo的PHP面试题
2014/05/26 面试题
软件测试面试题
2015/10/21 面试题
经贸韩语专业大学生职业规划
2014/02/14 职场文书
Python基于百度API识别并提取图片中文字
2021/06/27 Python
SqlServer数据库远程连接案例教程
2021/07/15 SQL Server
Nginx使用Lua模块实现WAF的原理解析
2021/09/04 Servers
nginx配置限速限流基于内置模块
2022/05/02 Servers