易截截图软件、单文件、免安装、纯绿色、仅160KB

javascript wrapper函数

在设计javascript的继承体系时,有一个重要需求,方法链。通俗地说,说是在方法中调用父类的同名方法。类似java的this.super().method()。如何把父类的同名方法包装到子类中呢?这就要用到wrapper函数。之所以叫wrapper,而不是wrap,因为它比wrap更加wrapper。比如像Ext那种深度继承的结构中,如果父类没有找祖父,祖父没有找曾祖父,沿着原型链层层上溯,以获取它所需要的功能。此外,wrapper函数在jQuery也有应用,好像分为三种wrapAll,wrapinner,wrap,专门用来对付IE的table或其他DOM。可能还有其他用处,不管了,先看如何实现它。
一个普通的函数

var greeting = function(world){
return "hello " + world +"!";
};
alert(greeting("world"));


var greeting = function(world){
return "hello " + world +"!";
};
alert(greeting("world"));

运行代码
我们把它塞进更深一层的作用域,非bind函数。

var wrap= function(fn){
return function(){
return fn.apply(null,arguments);
};
};


var wrap= function(fn){
return function(){
return fn.apply(null,arguments);
};
};
var greeting = function(world){
return "hello " + world +"!";
};
alert(greeting("world"));
alert(wrap(greeting)("world"))

运行代码
但这只是延迟了它的执行时间而已。上面函数中的null,也可以换成window。

var wrap= function(fn){
return function(){
return fn.apply(window,arguments);
};
};


var wrap= function(fn){
return function(){
return fn.apply(window,arguments);
};
};
var greeting = function(world){
return "hello " + world +"!";
};
alert(greeting("world"));
alert(wrap(greeting)("world"))

运行代码
因为总要人去调用函数的,null没有此能力,就由window上。现在我们就是要在这个位置上做文章,把换成this。如果没有进一步的改进,这里的this还是window的替身。下面就开始复杂了,先分解一下写法,降低阅读难度,就像jQuery那样把它掰成三部分:

var wrapper= function(fn){//这里改一下名。
var temp = function(){


相关文档:

javascript 替换空格

 1.自http://jorkin.reallydo.com/article.asp?id=275
第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符.
而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志)。
replace()
The replace() method returns the string that results when you replac ......

JavaScript:一个简单的日期格式验证

10:33:41 2009-11-14 
function checkDate() {
//取得date的值
if(!document.getElementById || !document.createTextNode()){return;}
var dateFiled = document.getElementById('date');
if(!dateFiled) {return;}
var dateValue = dateFiled.value;
var checkPattern = new RegExp("\\d{2}/\\d{2}/\\d ......

JavaScript语法集锦(三)

 String对象的 charAt(x)对象 反回指定对象的第多少位的字母
                     lastIndexOf("string") 从右到左询找指定字符,没有返回-1
           ......

JavaScript Date 对象与函数

JavaScript Date 对象与函数
目录
JavaScript_Date对象说明
Date对象构造函数
Date函数使用语法
JavaScript_Date函数按功能分类
日期获取类函数
日期设置类函数
日期打印类函数
日期解析类函数
JavaScript_Date函数按照字母分类
JavaScript_Date对象说明
Date中文为"日期"的意思,Date继承自Object对象, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号