我已经创建了这个原型函数,可以将数字格式化为我的货币位置。
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()
一样对硬编码数字起作用的原型函数吗?
答案 0 :(得分:5)
123.
被解析为一个数字,因此当它紧跟一个函数名时会出现“意外令牌”错误。
更改
var c = 123.toCurrency()
到
var c = 123..toCurrency()
或
var c = (123).toCurrency()
请注意,您可能不应该遇到此问题,因为更常见的是使用变量作为数字,或者直接使用字符串文字代替函数的结果。