我有一个addAfter和addBefore函数,它向数组中添加一个新元素。这个数组是其他函数使用的存储空间。基本上,我是在存储定义表单元格的低级对象。在元素被添加到数组之后,我必须插入元素的html属性值,即表行。
是否有一种方法可以原型我的数组来处理这两种操作,而不是每次我在addAfter或addBefore时都要加倍处理工作负载,同时破坏本机数组的原型呢?
var bays=[];
addAfter: function (b, n) {
for (var i = 0, ii, len = bays.length; i < len; i++) {
ii = i + 1; if (ii == n) {
bays.splice(ii, 0, b);
var newCell = canvsTrBay.insertCell(ii);
newCell.outerHTML = b._html;
};
};
this.build();
}可以这样做吗:
bays.prototype.add=function(b,n,isAfter){
for (var i = 0, ii, len = bays.length; i < len; i++) {
ii =(isAfter? (i + 1):(n>0?i-1:0);
if (ii == n) {
bays.splice(ii, 0, b);
var newCell = canvsTrBay.insertCell(ii);
newCell.outerHTML = b._html;
};
};
this.build();
}发布于 2012-04-11 15:45:44
可以将其直接添加到对象本身:
bays.add = ...;https://stackoverflow.com/questions/10109344
复制相似问题