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

时间:2013-12-05 12:28:23

标签: javascript

我已经创建了这个原型函数,可以将数字格式化为我的货币位置。

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

会发生什么:

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  

有一种方法可以创建一个像toString()一样对硬编码数字起作用的原型函数吗?

1 个答案:

答案 0 :(得分:5)

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

更改

var c = 123.toCurrency() 

var c = 123..toCurrency() 

var c = (123).toCurrency() 

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