javascript高级程序设计说内部实现了call方法的对象在应用typeof时会返回function,正则表达式也实现了这个方法所以返回function(P72)。但我去MDN查了正则对象发现没有call方法。运行下面代码返回的也是object而不是function,极速模式下(Chrome)。这是怎么回事呢?re=/[1-9]/console.log(typeof re) //object
1 回答
PIPIONE
TA贡献1829条经验 获得超9个赞
首先,re=/[1-9]/
其实获得到的是js的RegExp实例对象
,这里当然用typeof
获得到的是object。
高程里面所说的正则表达式指的是RegExp
的构造函数,其上是有call
方法的,typeof
获得到的值也是function
补图:证明re = /[1-9]/
等价于re = new RegExp(/[1-9]/)
添加回答
举报
0/150
提交
取消