介于/和/之间的每个方面都可以在javascript中打印.... 为什么?

Tus*_*kar 1 javascript

为什么/和/之间的所有内容都要打印?它应该在控制台中给我错误.

console.log通常打印字符串封闭在其中""或任何variableobject,在下面的情况下,我不传递字符串或任何变量和对象,但它仍然是可打印的.

var x = 10;
console.log(/m/);
console.log(/c/);
console.log(/&/);
console.log(/var/);
console.log(/x/);
Run Code Online (Sandbox Code Playgroud)

wei*_*nda 5

之间的任何东西//被认为是正则表达式.所以,这就是它打印出来的原因.


如果你做了console.log( typeof /test/ );它会说Object,这意味着它什么.

JavaScript允许您使用RegExp简写 - /test/这将匹配test任何给定序列中的字符串.

尝试类似的东西:

let testOne = /test/;
let testTwo = new RegExp( 'test' );

console.log( testOne.test( 'test' ) );
console.log( testTwo.test( 'test' ) );
Run Code Online (Sandbox Code Playgroud)

代码将输出:

true
true
Run Code Online (Sandbox Code Playgroud)

PS:如果内部匹配对象中定义的表达式,则函数regExp.test( String )返回.trueStringregExp