简单的string.replace()对于Microsoft Edge中的javascript失败

我有Microsoft Edge版本40,它确实很旧,但是如果不更新W10操作系统就无法更新Edge,那就是4个演出之类的东西,而且我没有SSD空间。另外,也有报道称这种情况也在较新的版本上发生。

无论如何,以下是导致错误的以下代码:

varvalue = varvalue.replace("'", '');
varvalue = varvalue.replace('"', '');

当我处于边缘时,我在控制台中收到此错误,可在包括IE在内的所有其他浏览器中使用:

Unhandled promise rejection TypeError: Object doesn't support property or method 'replace'

当我注释掉导致错误的代码时,它消失了,一切都很好,所以我知道正是这些行引起了该问题。不过仅适用于Microsoft Edge。

基本上,我要检查varvalue是否包含单引号或双撇号(通常出于某种原因而将其包含在内),然后需要将其从字符串中删除,因此我只是在查找字符串中的任何一个并将其删除。

评论
  • uqui
    uqui 回复

    It appears that Edge does not think varvalue is a string, but rather an object.

    这可能是由它接收数据的方法引起的,而不是由这些替换函数引起的。