为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript 正则表达式 call()

JavaScript 正则表达式 call()

胡子哥哥 2018-12-13 18:22:37
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

https://img1.sycdn.imooc.com//5c3c2e120001c85b01830073.jpg

补图:证明re = /[1-9]/等价于re = new RegExp(/[1-9]/)

https://img1.sycdn.imooc.com//5c3c2e1b0001c5fb01810088.jpg


查看完整回答
反对 回复 2019-01-14
  • 1 回答
  • 0 关注
  • 422 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信