Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
indexOf()反斜杠返回-1 javascript_Javascript_Indexof_Backslash - Fatal编程技术网

indexOf()反斜杠返回-1 javascript

indexOf()反斜杠返回-1 javascript,javascript,indexof,backslash,Javascript,Indexof,Backslash,为什么使用javascript 'aaaaa\bb'.indexOf('\\') 返回 -1 我期望5个,但b我得到了。它实际上并没有将反斜杠作为符号来读取,而是将其作为转义字符来读取?解析字符串常量时,搜索字符串中的反斜杠('aaaaa\bb')消失;JavaScript解析器总是读取字符串常量中的单个反斜杠作为转义。必须将其加倍,就像传递给.indexOf()的字符串一样 在您的例子中,\b是退格控制字符的转义。即使是像\q这样的非“特殊”字符,反斜杠也基本上被忽略。正如前面所说的,Java

为什么使用javascript

'aaaaa\bb'.indexOf('\\')

返回

-1


我期望5个,但b我得到了。它实际上并没有将反斜杠作为符号来读取,而是将其作为转义字符来读取?

解析字符串常量时,搜索字符串中的反斜杠(
'aaaaa\bb'
)消失;JavaScript解析器总是读取字符串常量中的单个反斜杠作为转义。必须将其加倍,就像传递给
.indexOf()
的字符串一样


在您的例子中,
\b
是退格控制字符的转义。即使是像
\q
这样的非“特殊”字符,反斜杠也基本上被忽略。

正如前面所说的,Javascript解析器将其解释为控制字符。 如果使用排列语法创建数组,将得到一个
\b
作为单个元素,而不是两个元素
\
b

str='aaaaa\bb';

log([…str])
这是因为
\b
表示退格控制字符,在
console.log
字符串时被忽略。
const str='1234\bb';

console.log(str)因为它必须是“aaaaa\\bb”
\b
是一个BackspaceBecause\b转义b。