我怎么能[硬编码].[函数调用]在Javascript中工作?

And*_*edo 2 javascript

我已创建此原型函数以将数字格式化为我的货币位置.

Number.prototype.toCurrency = function () {
    return Globalize.format(this*1, "c0");
};
Run Code Online (Sandbox Code Playgroud)

怎么了:

var number = 123;

var b = number.toCurrency();   // "R$ 123"
var b = number.toFixed(2);     // "123,00"
var b = number.toString();     // "123"

var c = 123.toCurrency()       // error unexpected token  
var c = 123.toFixed(2);        // error unexpected token  
var c = 123.toString()         // error unexpected token  
Run Code Online (Sandbox Code Playgroud)

有一种方法可以创建一个toString()与硬编码数字类似的原型函数吗?

Den*_*ret 5

123. 被解析为数字,因此当它紧跟一个函数名时出现"意外令牌"错误.

更改

var c = 123.toCurrency() 
Run Code Online (Sandbox Code Playgroud)

var c = 123..toCurrency() 
Run Code Online (Sandbox Code Playgroud)

要么

var c = (123).toCurrency() 
Run Code Online (Sandbox Code Playgroud)

请注意,您可能不应该遇到此问题,因为更常见的是使用变量作为数字或直接使用字符串文字来代替函数的结果.