I tried comparing two functions which perform the same task:
Number.prototype.getReverse = function() {
let reverseNum = 0
let num = this
while(num > 0) {
reverseNum = (10 * reverseNum) + (num % 10)
num = Math.floor(num / 10)
}
return reverseNum
}
const numb = 1234567
console.time()
console.log(numb.getReverse())
console.timeEnd()
function getReverseNum(num) {
let reverseNum = 0
while (num > 0) {
reverseNum = (10 * reverseNum) + (num % 10)
num = Math.floor(num / 10)
}
return reverseNum
}
console.time()
console.log(getReverseNum(numb))
console.timeEnd()
The prototype of the Number object took far longer:
7654321
default: 0.42ms
7654321
default: 0.109ms
I was curious as to whether anyone might know why this is. Does it have to do with the way JavaScript accesses the function through the object Number?