日期:2014-05-16 浏览次数:20396 次
//url追加方法,可传入url地址与拼接的key=value串。不推荐使用,因为每次都要判断url中是否有“?”,效率偏低 urlAppend : function(url, s){ if(!Ext.isEmpty(s)){ return url + (url.indexOf('?') === -1 ? '?' : '&') + s; } return url; }
//截取数组元素的方法,在ie下与其他浏览器的实现有所区别 a-原数组 i-起始位置 j-终止位置(这是一个自运行函数,当ext-base加载完后,就确定了是调用第一个function还是第二个function了) toArray : function(){ return isIE ? function(a, i, j, res){ res = []; for(var x = 0, len = a.length; x < len; x++) { res.push(a[x]); } return res.slice(i || 0, j || res.length); } : function(a, i, j){ return Array.prototype.slice.call(a, i || 0, j || a.length); } }()
//判断对象是否可迭代遍历,一般是指数组 isIterable : function(v){ //check for array or arguments //检验v是数组或者arguments对象 if(Ext.isArray(v) || v.callee){ return true; } //check for node list type //调用对象的toString之后验证是否是集合或者节点集对象 if(/NodeList|HTMLCollection/.test(toString.call(v))){ return true; } //NodeList has an item and length property //IXMLDOMNodeList has nextNode method, needs to be checked first. return ((typeof v.nextNode != 'undefined' || v.item) && Ext.isNumber(v.length)); }