为什么/和/之间的所有内容都要打印?它应该在控制台中给我错误.
console.log通常打印字符串封闭在其中""或任何variable和object,在下面的情况下,我不传递字符串或任何变量和对象,但它仍然是可打印的.
var x = 10;
console.log(/m/);
console.log(/c/);
console.log(/&/);
console.log(/var/);
console.log(/x/);Run Code Online (Sandbox Code Playgroud)
之间的任何东西/而/被认为是正则表达式.所以,这就是它打印出来的原因.
如果你做了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