【问题标题】:node replace function behaving differently than core javascript节点替换函数的行为与核心 javascript 不同
【发布时间】:2015-03-05 18:09:09
【问题描述】:

我想用 (\') 替换撇号(')

In Javascript
Code :
    var str = "hi'ee"; 
    var res = str.replace("'", "\\'");
Result : "hi\'ee"

但是

In Nodejs in Webstorm
    var str = "hi'ee"; 
    var res = str.replace("'", "\\'");
Result : "hi\\'ee"

为什么节点会在结果中添加额外的斜线

【问题讨论】:

  • 您确定这不仅仅是您观察这两个值的方式问题吗?您是否比较了 res.length 的两个值?
  • firefox 控制台显示 length = 6 显示 "hi\'ee" ,linux 终端显示 length = 6 显示 "hi\'ee" ,webstorm 显示 length = 6 但显示 "hi\\'ee"
  • 那么就没有问题了。它们都是相同的值,只是显示方式不同。

标签: javascript node.js


【解决方案1】:

没有区别。无论您以何种方式观察这些值,它们只是以不同的方式显示。

在两种环境中执行:

var str = "hi'ee"; 
var res = str.replace("'", "\\'");
console.log(res);
console.log(res.length);

你会看到输出是

hi\'ee
6

在这两种情况下。

【讨论】:

  • 在 linux 终端中它工作正常,但在 webstorm 中它正在提供 - hi\\'ee
  • firefox 控制台显示 length = 6 显示 "hi\'ee" ,linux 终端显示 length = 6 显示 "hi\'ee" ,webstorm 显示 length = 6 但显示 "hi\\'ee"
  • @vijay 那么就没有问题了。它们都是相同的值,只是显示方式不同。
  • @vijay 你有什么理由不接受我的回答?
  • 其实我是因为不相关的问题,无助的问题而被阻止提问。由于我即将删除这个问题。所以在删除这个问题时我想如果我不接受我将能够删除这个问题。但我无法删除,最后删除我提出的这个问题标记的,我直到现在还没有收到回复。如果在哪里出错,请回复我:)
猜你喜欢
  • 2018-12-04
  • 1970-01-01
  • 2020-07-30
  • 2014-11-03
  • 2016-09-11
  • 1970-01-01
  • 2015-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多