afterbase 2012-03-19 20:10
浏览 555
已采纳

JavaScript数组remove()方法的实现

网上看到一个实现:

[code="java"]
Array.prototype.remove = function(from ,to){
var rest = this.slice((to || from) + 1 || this.length);
this.length = from < 0 ? this.length + from : from;
return this.push.apply(this,rest);
};
[/code]

有点混乱了,逻辑操作符能这么用,再查了下,对于||操作符,左边为true则为左边表达式的值,
左边为false则为右边表达式的值,这个true或者false的判断依据应该是对象是否非空,那么[color=blue]对于
(to || from) + 1 || this.length后面的|| this.length是出于什么目的呢?[/color]

  • 写回答

2条回答 默认 最新

  • iteye_8576 2012-03-20 15:02
    关注

    呵呵,你说的对,我看错了,这么看来|| this.length多余了。。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?