Ext JS-EXT JS数组取值问题

Ext JS-EXT JS数组取值问题

浮生未歇 发布于 2017-10-08 字数 142 浏览 1081 回复 2

在extjs中,有如下代码:

var arr1=[3,4,5];
for(var key in arr1){
alert(arr[key]);
}

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

归属感 2017-11-04 2 楼

这是Ext在Array.prototype上添加了两个方法,indexOf和remove,看源码即知

 Ext.applyIf(Array.prototype, {
indexOf : function(o, from){
var len = this.length;
from = from || 0;
from += (from < 0) ? len : 0;
for (; from < len; ++from){
if(this[from] === o){
return from;
}
}
return -1;
},
remove : function(o){
var index = this.indexOf(o);
if(index != -1){
this.splice(index, 1);
}
return this;
}
});

这两个方法属于自定义属性,可以通过for in语句遍历出来,而内置属性如valueOf,toString则不会遍历出来。

浮生未歇 2017-10-18 1 楼

可能是

 Array.prototype.testfunction = function(b,c){
function(b,c){
var a=this.length;c=c||0;
c+=(c<0)?a:0;
for(;c<a;++c){
if(this[c]===b){
return c
}
}
return -1
},
function(b){
var a=this.indexOf(b);
if(a!=-1){
this.splice(a,1)
}
return this
}
}

可能导致出现那样的情况。