请帮我理解下面代码为什么能够工作:
<script>
var re = RegExp('\\ba\\b') ;
alert(re.test('a')) ;
alert(re.test('ab')) ;
</script>
第一行没有使用 new
运算符。
据我所知,在 JavaScript 中,构造函数是用于初始化由运算符 new
创建的对象的函数,并且它们不应该返回任何东西。
String
将值转换为本地字符串(而不是String
对象),Number
将值转换为数字(而不是Number
对象),等等。RegExp
有点特殊,因为没有其他合理的行为方式。 - Matthew Crumley