从Array.prototype方法返回数组的值

时间:2013-10-11 19:16:16

标签: javascript arrays

我有以下代码。

Array.prototype.range = function(start, count) {
  this.push(start);
  if(this.length == count){
     return this;
  };
  this.range(start+1, count)
}

它的功能在于它修改了我想要的数组,但是没有返回值。

test = new Array;
test.range(0,3);
console.log(test);

输出[0,1,2],但

test = new Array;
console.log(test.range(0,3));

给我未定义。有人可以向我解释为什么“归还这个”;在prototyped方法中实际上不返回对象吗?

感谢。

1 个答案:

答案 0 :(得分:4)

你需要从最初的电话回来。

return this.range(start + 1, count);