【发布时间】:2018-05-30 14:24:00
【问题描述】:
我有这个用于自定义 pop() 方法的代码:
Array.prototype.pop = function(index) {
if (typeof index === "undefined") {
index = this.length - 1;
}
var rtn = this.slice()[index];
this.remove(this[index]);
return rtn;
};
当我输入参数时它可以完美运行(例如 [1,3,5].pop(1) 返回 3 并删除它)。
但是,当我在没有参数的情况下使用它时(例如[1,3,5].pop()),它会返回 undefined 并且不会编辑数组。我认为这与函数重载不适用于 0 参数这一事实有关。请你能帮我找到这个问题的替代方案或解决方案。谢谢。
【问题讨论】:
-
进行某种检查怎么样?
-
Array.remove 确实不存在。
-
@AnwarNairi 我之前在 js 文件中创建了那个方法,没有包含它,抱歉。
标签: javascript function parameters undefined overloading