本来对原先对一个字符串做扩展时,是这样子:

String.prototype.format = function() {
    return this;
}

其中 this 表示当前字符串对象,而相对于 Number.prototype 而言,有些不同。

this 被解释为一个完整的 Number 对象,不能够直接通过 this 直接访问数字值;必须通过 valueOf() 来获取原始值。

Number.prototype.format = function() {
    return this.valueOf();
}

附录:
1.Number valueOf()