这是我的代码片段:
json.iddd = ~~(json.id);
console.log(typeof(json.iddd)); //shows number
new ResponseTabView(json.iddd); // backbone view
在我调用的视图中:
this.grid = new Backgrid.Grid({body : this.body, collection :this.collection, columns: this.columns});
我收到以下错误:
Uncaught TypeError: Object 5229d8fff4ae7a3803000023 has no method 'toFixed'
如何摆脱它?
> 正如@Abhilash所说,您正在string
类型对象上使用toFixed()
,这肯定会导致错误 Object xyz has no method toFixed
.
toFixed
是number Object
不是字符串的方法。
这是为您提供的参考表
数字对象方法
toExponential(x) Converts a number into an exponential notation
toFixed(x) Formats a number with x numbers of digits after the decimal point
toPrecision(x) Formats a number to x length
toString() Converts a Number object to a string
valueOf() Returns the primitive value of a Number object
因此,您需要使用 parstInt()
或 parseFloat()
将字符串解析为整数
parseInt(json.iddd).toFixed(); Or
parseFloat(json.iddd).toFixed();
在传递给Backgrid.Grid
的参数中,一个参数需要Number
类型。但是您传递的参数是"字符串"类型。
String
对象没有可供您使用的toFixed()
。因此错误。
请console.log
每个参数typoof
,并阅读 Backgrid 的文档以查看需要Number
类型的参数。
干杯!