可以說,我想要在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