我有以下代码。
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方法中实际上不返回对象吗?
感谢。
答案 0 :(得分:4)
你需要从最初的电话回来。
return this.range(start + 1, count);