时间:2021-07-01 10:21:17 帮助过:5人阅读
function add(x,y){
return x+y;
}
var add2 = add.createCallback(10,20);
alert(add2());
createDelegate(scope,args,append) 方法
这个方法的作用和createCallback的作用基本相同,不同的地方在于它可以指定调用原始函数的上下文对象,而createCallback方法则始终使用window作为函数调用的上下文。
createInterceptor(fn,[scope])方法
这个方法的作用是为函数创建一个拦截器,在调用原始函数之前先调用fn,如果fn返回false,则不调用原始函数。scope参数指定了调用fn函数的上下文,如果未指定,则和原始函数的上下文相同或者为window对象。
createSequence( Function fn, [Object scope] )
这个方法组合了原始函数和fn,最终的结果是先调用原始函数,然后再用同样的参数调用fn函数,最返的返回值是原始函数的返回值。
defer( Number millis, [Object scope], [Array args], [Boolean/Number appendArgs] )
这个方法能延时调用原始函数。
代码如下:
var clock = function(){
var d = new Date();
alert(d.toLocaleTimeString());
}
clock();
clock.defer(10000);
4. Number
constrain( Number min, Number max )
不解释,你懂的。
5. string
format( String string, String value1, String value2… ) : String
它的功能和.net中的格式化基本相同,但比较简单,不支持在{0:d}这样的写法,只支持{0}这样的写法。看了它的源代码,超简单。
代码如下:
format : function(format){
var args = Ext.toArray(arguments, 1);
return format.replace(/\{(\d+)\}/g, function(m, i){
return args[i];
});
}
基本上,这是一个很有用的函数,可以让我们少写拼写字符串的代码,那种代码真的很难看懂。
trim() : String
还算是有点用处,也不解释。