无法读取未定义的 属性 'toLocaleString'
Cannot read property 'toLocaleString' of undefined
我有一个 Tampermonkey 脚本,可以将一些信息添加到基于浏览器的游戏中。我使用一段简单的代码根据玩家的语言环境为数字添加千位分隔符:
function nThousand(x) {
return x.toLocaleString();
}
这个函数在很多代码中用到了,例如:
$("#CustomStats" + stat).html(
"<b>" + texts[lang].stat_points_need + ":</b> " + nThousand(remainingPoints) + "<br />" +
"<b>" + texts[lang].money_need + ": </b>" + nThousand(remainingMoney) + "<br />" +
"<b>" + texts[lang].money_spent + ": </b>" + nThousand(currentMoney) + "<br /><br />" +
"<b>" + texts[lang].bought_points + ": </b>" + nThousand(boughtPoints) + "<br />" +
"<b>" + texts[lang].equipment_points + ": </b>" + nThousand(itemPoints) + "<br />" +
"<b>" + texts[lang].points_from_level + ": </b>" + nThousand(skillPoints) + "<br />"
);
这多年来一直运行良好,但出于某种原因,在游戏运行的特定平台上,脚本现在拒绝加载并给出以下错误消息:
Cannot read property 'toLocaleString' of undefined
我已经回溯了几十个版本以确保它不是我最近添加或更改的内容,老实说,我什至不知道从哪里开始解决这个问题。该函数仅在存在要本地化的值时运行,并且仅在游戏运行的特定平台上执行此操作。
我的问题:可能是什么原因造成的,我将如何解决这个问题?
问题不在于 toLocaleString
,问题在于您将 undefined
传递给函数的某个地方。您需要通过调试找出发生这种情况的原因。如果它传递了一个 non-string 值,那么向你的函数添加一个保护 returns 一个空字符串也是一个好主意。
我有一个 Tampermonkey 脚本,可以将一些信息添加到基于浏览器的游戏中。我使用一段简单的代码根据玩家的语言环境为数字添加千位分隔符:
function nThousand(x) {
return x.toLocaleString();
}
这个函数在很多代码中用到了,例如:
$("#CustomStats" + stat).html(
"<b>" + texts[lang].stat_points_need + ":</b> " + nThousand(remainingPoints) + "<br />" +
"<b>" + texts[lang].money_need + ": </b>" + nThousand(remainingMoney) + "<br />" +
"<b>" + texts[lang].money_spent + ": </b>" + nThousand(currentMoney) + "<br /><br />" +
"<b>" + texts[lang].bought_points + ": </b>" + nThousand(boughtPoints) + "<br />" +
"<b>" + texts[lang].equipment_points + ": </b>" + nThousand(itemPoints) + "<br />" +
"<b>" + texts[lang].points_from_level + ": </b>" + nThousand(skillPoints) + "<br />"
);
这多年来一直运行良好,但出于某种原因,在游戏运行的特定平台上,脚本现在拒绝加载并给出以下错误消息:
Cannot read property 'toLocaleString' of undefined
我已经回溯了几十个版本以确保它不是我最近添加或更改的内容,老实说,我什至不知道从哪里开始解决这个问题。该函数仅在存在要本地化的值时运行,并且仅在游戏运行的特定平台上执行此操作。
我的问题:可能是什么原因造成的,我将如何解决这个问题?
问题不在于 toLocaleString
,问题在于您将 undefined
传递给函数的某个地方。您需要通过调试找出发生这种情况的原因。如果它传递了一个 non-string 值,那么向你的函数添加一个保护 returns 一个空字符串也是一个好主意。