有什么意义:
if ( /red|green|blue/.test(key) .. )
我之前从未见过,它是如何运作的?
发现于: http://wiki.jqueryui.com/w/page/12138135/Widget-factory
答案 0 :(得分:3)
简单地说,它测试字符串key
,如果它包含red
,green
或blue
。
这就是//
之间的东西是创建regexp object的一种方式。 .test()对regexp对象进行操作,如果找到匹配则返回true,否则返回false。
这是一个更加分散的版本:
key = "red orange yellow green"; //sample string
pattern = /red|green|blue/;
result = pattern.test(key);
if(result){.... //will execute since string contained red OR green
或
key = "red orange yellow green"; //sample string
pattern = new RegExp('red|green|blue');
result = pattern.test(key);
if(result){.... //will execute since string contained red OR green
答案 1 :(得分:1)
/red|green|blue/
部分是Regular Expression,test()
方法用于搜索该正则表达式与作为参数传递的字符串之间的匹配。
答案 2 :(得分:0)
斜杠/
表示正则表达式字面值。测试关键变量以匹配此表达式。如果密钥的字符串表示包含red
,green
或blue
,则 if block 将被执行。