Bos*_*ohn 0 javascript regex for-loop
我有一组正则表达式存储在一个对象中,沿着它的风格
myRegexes = {};
myRegexes.reg1 = /[a-z]+[0-9]+/;
myRegexes.reg2 = /[a-e]+/;
Run Code Online (Sandbox Code Playgroud)
我可以这样做 myRegexes.reg1.exec(sampleStr) ,它完美无缺.
但是,如果我循环通过这个对象说
for( reg in myRegexes ){
reg.exec(sampleStr);
}
Run Code Online (Sandbox Code Playgroud)
我得到一个例外,说"TypeError:Object reg1没有方法'exec'"
我知道javascript对于for-for循环的方式很不满意,但我不知道它是如何成功找到变量的,但在此过程中失去了它的方法.任何人都可以告诉我为什么这会失败以及正确的方法是什么?
reg 引用属性名称,你必须抓住实际的正则表达式对象:
for( reg in myRegexes ) {
myRegexes[ reg ].exec(sampleStr);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
92 次 |
| 最近记录: |