[ExtJS3.2源码每天一小时](2)ext-base.js做了什么(之四)

本文介绍了ExtJS中几个实用的函数,包括URL追加方法、数组截取方法及对象可迭代性判断。这些函数能够帮助开发者高效处理常见的前端任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


//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));
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值