Replace()产生“;未捕获的类型错误:未定义的不是函数“;当与零一起使用时
Replace() yields "Uncaught TypeError: undefined is not a function" when used with zero
我从MongoDb中获取数字,通过使用replace()
方法删除任何空格或逗号(如果存在),将其解析为我的格式。虽然这已经完美地工作了一段时间,但我刚刚发现,当值为零时,它会产生以下错误
Uncaught TypeError: undefined is not a function
包含被质疑方法的代码片段如下:
function Query_Member_points_credits_summaryExecute()
{
var Balance = Apperyio.storage.MS_Member_Points_Credits_Summary.get("$['Balance']");
var balance = parseFloat(Balance.replace(',', '').replace(' ', ''));
console.log("balance " + balance);
var threshold = parseFloat(50000);
console.log("threshold " + threshold);
}
第二行引起的错误。
调查尝试次数:
我将行替换为以下内容:
a.var balance = parseFloat(Balance.replace(',', ''));
b.var balance = parseFloat(Balance.replace(' ', ''));
c.var balance = Balance.replace(',', '').replace(' ', '');
只有这一点适用于
balance = 0
:var balance = parseFloat(Balance);
使用除零以外的数字,包括0.000001,运行良好
我很困惑
我首先建议,在之后
var Balance = Apperyio.storage.MS_Member_Points_Credits_Summary.get("$['Balance']");
输入一些调试代码来告诉你Balance
实际上是什么,类似于:
alert(typeof(Balance));
根据您的错误消息,可能是undefined
。如果是这种情况,那么您将需要找出appery.io
为什么给您一个未定义的零值。
如果它是而不是未定义的,那么它可能是某种奇怪的类型(即,不是字符串),这可能会影响replace
调用的管道。
如果appery.io
给你一个number
类型表示零,string
类型表示非零(根据你的评论),那么快速的"致命修复"可能类似于:
// Ensure number made string before replace.
var balance = parseFloat((""+Balance).replace(',', '').replace(' ', ''));
然后我会联系他们,询问这是否是他们的错误。
相关文章:
- setTimeout可以与闭包内的函数一起使用吗
- $location.search() 与外部函数一起使用,重置整个$scope.如何避免它
- 将 JSDoc 与匿名对象和该对象的函数一起使用的正确方法
- While循环与jquery中的某些数学函数一起崩溃
- 如何将setTimeout()与slow函数一起使用
- 此JavaScript函数可以单独使用,但不能与其他JavaScript函数一起使用
- delay()函数不能与jquery中的addClass()函数一起使用
- 如何将URL与JQuery.getJSON()函数一起使用
- .wrap()在与resize函数一起使用时多次添加选择器
- 为什么JavaScript闭包不能与预定义的函数一起使用
- Prototype.js 1.7:将collect与显式函数一起使用会返回与内联函数不同的结果,原因是什么
- JS:转义字符串末尾带有反斜杠的字符串,用于与jQuery函数一起使用
- 如何将 yield 与我自己的函数一起使用
- 如何将 ng-show 与控制器中返回 true/false 的函数一起使用
- 为什么我不能将javascript setInterval与外部文件中的函数一起使用
- 将回调函数与原型函数一起使用
- 将延迟语句与 javascript 函数一起使用
- jQuery 不与 JS 搜索函数一起使用
- 如何将setTimeout与立即调用的函数一起正确使用
- 如何让jquery.each函数与动态元素的.on('change')函数一起工作