猿问

JavaScript 正则表达式 call()

javascript高级程序设计说内部实现了call方法的对象在应用typeof时会返回function,正则表达式也实现了这个方法所以返回function(P72)。但我去MDN查了正则对象发现没有call方法。运行下面代码返回的也是object而不是function,极速模式下(Chrome)。这是怎么回事呢?


re=/[1-9]/

console.log(typeof re) //object


胡子哥哥
浏览 423回答 1
1回答

PIPIONE

首先,re=/[1-9]/其实获得到的是js的RegExp实例对象,这里当然用typeof获得到的是object。高程里面所说的正则表达式指的是RegExp的构造函数,其上是有call方法的,typeof获得到的值也是function补图:证明re = /[1-9]/等价于re = new RegExp(/[1-9]/)
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答