常用Extjs工具:Extjs.util.Format使用方法

  抄些常用工具方便查找

  ----------字符串

  Ext.util.Format.capitalize(string str);//将首字母变大写

  Ext.util.Format.ellipsis(string value, Number length);//截取指定length字符,将自动在尾处添加省略号'...'

  Ext.util.Format.htmlEncode(string value); //将文本编码

  lowercase(string value);//变小写

  stripScripts(Mixed value);//删除所有的Script标签

  stripTags(Mixed value);//删除所有标签

  substr(value, start, length)

  trim(value)

  ----------日期

  Ext.util.Format.date(Mixd value, [String format]); 如:Ext.util.Format.date(new Date(), 'Y-m-d')=>2012-03-19

  Ext.util.Format.dateRenderer(string format);//专门为Ext.grid.Gridpanel使用,ColumnModel中

  ---------宿舍判断

  defaultValue(Mixed value, string defalutValue);//如果第一个参数为空,则返回第二个,反之。

  undef(Mixed value;//如果value等于空,则回返空字符串,否则返回value

  ==========扩展Function

  1、createCallback()会创建当前函数的回调函数,如:

  

复制代码 代码如下:

  var sayHi = function(name){

  alert('Hi'+name);

  }

  new Ext.Button({

  text: 'say hi',

  handler: sayHi.createCallback('jinshan')

  });

  createCallback的作用是为原有的参数设置默认参数。在上例中,在使用createCallback时就已经将‘jinshan' 设置给对应的回调函数,单击按钮后将参数传递给sayHi().

  2、createDelegate()会创建当前函数的代理函数。

  如:

  

复制代码 代码如下:

  var sayHi = function(name){

  alert(name - this.text); //this.text表示btn函数的text值Say Hi,

  }

  var btn = new Ext.Button({

  text: 'Say Hi'

  });

  btn.on('click', sayHi.createDelegate(btn, ['jisnh']));

  这个创建了代理, sayHi指向了btn。。如果btn改成其它对象,则sayHi将会自动转到其它对象去。

  3、createInterceptor(fun, scope);为当前函数设置拦截器,类似 AOP 概念。如:

  

复制代码 代码如下:

  var sayHi = function(name){

  alert(name);

  }

  sayHi('1');

  var sayHito = sayHi.createInterceptor(function(name){

  return name == '2';

  });

  sayHito(1) ;//没有提示

  sayHito(2);//弹出2

  拦截器会在原函数执行之前执行,并且只有在拦截器返回true时才会去执行原函数。