为什么正则表达式/d/.test()返回true?没有参数的测试函数

时间:2016-12-08 10:09:14

标签: javascript regex

我在chrome dev控制台上测试,发现/d/.test()返回true。这让我感到困惑。“d”有什么特别的含义吗?

1 个答案:

答案 0 :(得分:3)

d没有特殊含义,但如果您未将任何参数传递给.test,则会导致undefined进行比较。当变成一个字符串时,会产生"undefined",然后d匹配那里的字母。



console.log(/u/.test());
console.log(/n/.test());
console.log(/d/.test());
console.log(/e/.test());
console.log(/f/.test());
console.log(/i/.test());

console.log(/undefined/.test());

.as-console-wrapper{
  max-height: inherit !important;
}