Jquery 函数不适用于函数参数

Jquery Functions does not work on function parameter

本文关键字:函数 参数 适用于 不适用 Jquery      更新时间:2023-09-26

我有一个jquery函数,它从调用者那里接收一个参数。对参数调用split()会引发错误。这是函数

function formatNairaCurrency(value) {
var formatedWithoutNaira;
var formattedAmount
//check if value is in kobo format
var splittedValue = value.split(".");//Throws error
if (splittedValue.length === 2) {
    formatedWithoutNaira = isNaN(splittedValue[0]) ? "" : splittedValue[0].toString().replace(/'B(?=('d{3})+(?!'d))/g, ",");
    formattedAmount = "₦" + formatedWithoutNaira + splittedValue[1];
} else {
    formatedWithoutNaira = isNaN(value) ? "" : value.toString().replace(/'B(?=('d{3})+(?!'d))/g, ",");
    formattedAmount = "₦" + formatedWithoutNaira + ".00";
}
return formattedAmount;}

调用var splittedValue = value.split(".");引发错误value.split is not a function

我错过了什么?

我在.cshtml文件中调用它。即使在同一个.js文件上,这也适用于另一个函数。不同之处在于,value不是参数,而是文本框中的值。

非常感谢您的帮助。

如果我

正确理解您的意图,您正在尝试将 split 用于字符串。您的错误可能是由值不是字符串引起的。您需要调试或抛出控制台"值"。

编辑:例如,如果

,或者值未找到,这肯定会导致错误。针对这些条件进行测试:

(value === null)
(typeof value === 'undefined')

如果您的值是数字 - 这也会导致错误。您需要先将数字转换为字符串。你可以通过以下方式做到这一点

var valueAsString = value.toString();
valueAsString.split('.');