JavaScript 正则表达式 call()
本文介绍了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屋!
查看全文