可以说,我想要在javascript中为所有“数字”添加一项功能,以便拥有一个名为“阶乘”的函数。因此,举例来说:如何在Javascript中的原型函数中编写递归函数?
var num = 5
console.log(num.factorial()) // should display 120
为了实现这一点,这里是下面的函数
Object.defineProperty(Number.prototype, "factorial", {
enumerable: false,
value: function() {
if(this <= 1) return 1;
return this * factorial(this - 1);
}
})
显然,这会返回一个错误,指出该功能“因子”不存在。如何解决这个问题?
也许你应该使用this.factorial而不是阶乘? – 2014-10-29 09:35:44