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代码
Mar 11 Javascript
JavaScript 实现模态对话框 源代码大全
May 02 Javascript
jQuery调用RESTful WCF示例代码(GET方法/POST方法)
Jan 26 Javascript
JavaScript限定图片显示大小的方法
Mar 11 Javascript
轻量级网页遮罩层jQuery插件用法实例
Jul 31 Javascript
javascript跨域的方法汇总
Oct 23 Javascript
如何使用AngularJs打造权限管理系统【简易型】
May 09 Javascript
Javascript下拉刷新的简单实现
Feb 14 Javascript
javascript 动态生成css代码的两种方法
Mar 17 Javascript
Vue实现类似Spring官网图片滑动效果方法
Mar 01 Javascript
react高阶组件添加和删除props
Apr 26 Javascript
javaScript代码飘红报错看不懂?读完这篇文章再试试
Aug 19 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 压缩文件夹的类代码
2009/11/05 PHP
php中文字符串截取方法实例总结
2014/09/30 PHP
浅谈PHP链表数据结构(单链表)
2016/06/08 PHP
Laravel框架路由和控制器的绑定操作方法
2018/06/12 PHP
IE与Firefox在JavaScript上的7个不同写法小结
2009/09/14 Javascript
跟我一起学写jQuery插件开发方法(附完整实例及下载)
2010/04/01 Javascript
非常棒的10款jQuery 幻灯片插件
2011/06/14 Javascript
JavaScript中的细节分析
2012/06/30 Javascript
javascript表单验证 - Parsley.js使用和配置
2013/01/25 Javascript
取消选中单选框radio的三种方式示例介绍
2013/12/23 Javascript
详解AngularJS Filter(过滤器)用法
2015/12/28 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
2016/06/13 Javascript
jQuery使用ajax方法解析返回的json数据功能示例
2017/01/10 Javascript
jQuery布局组件EasyUI Layout使用方法详解
2017/02/28 Javascript
使用BootStrap实现标签切换原理解析
2017/03/14 Javascript
解决Vue页面固定滚动位置的处理办法
2017/07/13 Javascript
详解基于vue的移动web app页面缓存解决方案
2017/08/03 Javascript
js HTML5 canvas绘制图片的方法
2017/09/08 Javascript
微信小程序 Animation实现图片旋转动画示例
2018/08/22 Javascript
Django中更新多个对象数据与删除对象的方法
2015/07/17 Python
Python设置Socket代理及实现远程摄像头控制的例子
2015/11/13 Python
python开发之str.format()用法实例分析
2016/02/22 Python
python编写暴力破解zip文档程序的实例讲解
2018/04/24 Python
Python3随机漫步生成数据并绘制
2018/08/27 Python
基于python实现百度翻译功能
2019/05/09 Python
Tensorflow tf.tile()的用法实例分析
2020/05/22 Python
Python 私有属性和私有方法应用场景分析
2020/06/19 Python
python 邮件检测工具mmpi的使用
2021/01/04 Python
HTML5响应式(自适应)网页设计的实现
2017/11/17 HTML / CSS
世界首屈一指的在线男士内衣权威:HisRoom
2017/08/05 全球购物
教师专业理论水平的自我评价分享
2013/11/09 职场文书
中餐厅主管的职责范文
2014/02/04 职场文书
挂职自我鉴定
2014/02/26 职场文书
初一学生评语大全
2014/04/24 职场文书
安全承诺书
2015/01/19 职场文书
使用这 6个Vue加载动画库来减少我们网站的跳出率
2021/05/18 Vue.js