gpt4 book ai didi

javascript - var.replace 不是函数

转载 作者:行者123 更新时间:2023-11-30 13:14:42 24 4
gpt4 key购买 nike

我收到错误“id.replace 不是一个函数”

以下是我认为相关的代码。我遗漏了一些明显的东西,但我的大脑目前是糊状的。

getSyncDbFile: function (config, id) {
if (id === null)
{
com.synckolab.tools.logMessage("Error: entry has no id (" +config.name + ": " + config.type + ")", com.synckolab.global.LOG_ERROR);
return null;
}

com.synckolab.tools.logMessage("syncDbFile: (" +com.synckolab.tools.text.fixNameToMiniCharset(config.serverKey) + "/" + config.type + "_" + config.name + "/" + id + ")", com.synckolab.global.LOG_ERROR);

id = id.replace(/[ :.;$\\\/]\#\@/g, "_");
var file = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("ProfD", Components.interfaces.nsIFile);
try {
file.append("synckolab");
if (!file.exists()) {
file.create(1, parseInt("0775", 8));
}

file.append(com.synckolab.tools.text.fixNameToMiniCharset(config.serverKey));
if (!file.exists()) {
file.create(1, parseInt("0775", 8));
}


file.append(config.type + "_" + config.name);
if (!file.exists()) {
file.create(1, parseInt("0775", 8));
}

file.append(id);
}
catch (ex)
{
com.synckolab.tools.logMessage("Problem with getting syncDbFile: (" +com.synckolab.tools.text.fixNameToMiniCharset(config.serverKey) + "/" + config.name + ": " + config.type + ": " + id + ")\n" + ex, com.synckolab.global.LOG_ERROR);
return null;
}
return file;
}

最佳答案

正如其他人所指出的,id 需要是一个字符串。我们不知道它是什么类型。

就在行前

id = id.replace(/[ :.;$\\\/]\#\@/g, "_");

添加这两行:

console.log(id);
console.log(typeof id);

这会让我们知道这些是什么以及是否传递了正确的值。

关于javascript - var.replace 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12481701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com