JavaScript 正则表达式 call()

查看:113
本文介绍了JavaScript 正则表达式 call()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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

re=/[1-9]/
console.log(typeof re) //object

解决方案

首先,re=/[1-9]/其实获得到的是js的RegExp实例对象,这里当然用typeof获得到的是object。
高程里面所说的正则表达式指的是RegExp的构造函数,其上是有call方法的,typeof获得到的值也是function


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

这篇关于JavaScript 正则表达式 call()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆