我有一组存储在对象中的正则表达式,沿着
myRegexes = {};
myRegexes.reg1 = /[a-z]+[0-9]+/;
myRegexes.reg2 = /[a-e]+/;
然后我可以做 myRegexes.reg1.exec(sampleStr)
,它工作得很好。
但是,如果我遍历这个对象并说
for( reg in myRegexes ){
reg.exec(sampleStr);
}
我收到一个异常说“TypeError:Object reg1 has no method 'exec'”
我知道 javascript 在 for-in 循环的执行方式上很不稳定,但我看不到它是如何成功找到变量的,但在此过程中会丢失它的方法。谁能告诉我为什么会失败以及正确的方法是什么?