读书人

ExtJs源码分析与学习ExtJs核心代码扩

发布时间: 2012-10-28 09:54:44 作者: rapoo

ExtJs源码分析与学习—ExtJs核心代码扩展

????? 前面三篇文章参考作者snandy总结了Ext中核心代码Ext.js,今天对Ext.js的扩展Ext-more.js进行分析。这里首先感谢snandy,这位作者文章写的不错,对Ext的理解也很深入,学习了。

?

???? 该类中主要是对Ext核心方法进行了扩展

?

1、getDoc()  返回当前HTML document 对象 Ext.Element类型,见代码 Ext.Element.get(document);2、num(v, defaultValue)      验证v是否为数值,不是返回defaultValue3、value (v, defaultValue, allowBlank)  判断v是否为空,空则返回defaultValue4、escapeRe : function(s)  避免传递的字符串参数被正则表达式读取5、sequence : function(o, name, fn, scope)   把o[name]转换为一组合函数,详见createSequence6、addBehaviors : function(o) 页面被初始化完毕后,在元素上绑定事件监听。事件名在'@'符号后7、getScrollBarWidth: function(force) 该方法比较实用,精确的计算了滚动条的宽度,类似也可以计算滚动条的高度。计算浏览器滚动体实际的物理宽度。该值根据OS的不同有所变化,例如主题、字体大小的影响。8、copyTo : function(dest, source, names) 复制源对象身上指定的属性到目标对象。9、destroy : function()尝试去移除每个传入的对象,包—OM,事件侦听者,并呼叫他们的destroy方法(如果存在)。该方法主要接纳{@link Ext.Element}与{@link Ext.Component}类型的参数。但理论上任何继承自Ext.util.Observable的子类都可以做为参数传入(支持传入多参)。10、destroyMembers : function(o, arg1, arg2, etc) 删除对象的指定属性(支持传入多参,同时删除多个属性)。11、clean : function(arr) 复制传入的数组,并删除没有意义的元素,比如 0 null undefined 等12、unique : function(arr) 复制传入的数组,并且过滤掉有重复的值13、flatten : function(arr)  递归合并一维数组,元素是数组的形式递归调用并合并插入到当前位置14、min : function(arr, comp) 返回数组中的最小值15、max : function(arr, comp) 返回数组中的最大值16、mean : function(arr) 计算数组平均值17、sum : function(arr) 数组求和18、partition : function(arr, truth) 把数组或NodeList分成两部分,按照不同的取值,比如数组中的奇偶,不同的class等19、invoke : function(arr, methodName) 对数组中的每个元素调用指定的一个方法20、pluck : function(arr, prop) 取出数组元素指定属性prop对应的值21、getCmp : function(id) Ext.ComponentMgr.get 的简写22、type : function(o) 返回参数类型的详细信息。如果送入的对象是null或undefined那么返回false, 或是其他类型(见源代码)以下为 Function增加的方法23、createSequence : function(fcn, scope)创建一个组合函数,调用次序为:原函数 + 参数中的函数。该函数返回了原函数执行的结果(也就是返回了原函数的返回值)。在参数中传递的函数fcn,它的参数也是原函数的参数。String增加的方法24、escape : function(string) 把输入的 ' 与 \ 字符转义。leftPad : function (val, size, ch) 在字符串左边填充指定字符。这对于统一字符或日期标准格式非常有用。25、String.prototype.toggle = function(value, other){    return this == value ? other : value;};比较并交换字符串的值。参数中的第一个值与当前字符串对象比较,如果相等则返回传入的第一个参数,否则返回第二个参数。26、String.prototype.trim = function(){    var re = /^\s+|\s+$/g;    return function(){ return this.replace(re, ""); };}();裁剪字符串两旁的空白符,保留中间空白符27、Date.prototype.getElapsed = function(date) {    return Math.abs((date || new Date()).getTime()-this.getTime());};返回date对象创建时间与现在时间的时间差,单位为毫秒。Number.prototype28、constrain : function(min, max){        return Math.min(Math.max(this, min), max);}如果数值在min和max之间,则返回该数值,如果不在该范围内,则返回靠近min或max的值

读书人网 >JavaScript

热点推荐