Javascript 有人能解释这个正则表达式吗
我偶然看到john resig的一篇文章解释JavaScript继承。 在本文中,有一个类实现代码,其中起始行有一个regexpJavascript 有人能解释这个正则表达式吗,javascript,regex,Javascript,Regex,我偶然看到john resig的一篇文章解释JavaScript继承。 在本文中,有一个类实现代码,其中起始行有一个regexp fnTest = /xyz/.test(function(){xyz;}) ? /\b_super\b/ : /.*/; 谁能告诉我这是什么意思吗?有两个正则表达式。第一个是/xyz/,用于测试函数(强制为字符串)是否匹配xyz。是的。然后,返回两个正则表达式中的一个(在本例中是第一个,因为测试通过) 第一个是单词边界,后面是\u super,后面是另一个单词边界
fnTest = /xyz/.test(function(){xyz;}) ? /\b_super\b/ : /.*/;
谁能告诉我这是什么意思吗?有两个正则表达式。第一个是
/xyz/
,用于测试函数(强制为字符串)是否匹配xyz
。是的。然后,返回两个正则表达式中的一个(在本例中是第一个,因为测试通过)
第一个是单词边界,后面是\u super
,后面是另一个单词边界,至少可以匹配“\u super”
、“\u super”
和单词
第二个匹配零个或多个字符(即所有字符)。有两个正则表达式。第一个是/xyz/
,用于测试函数(强制为字符串)是否匹配xyz
。是的。然后,返回两个正则表达式中的一个(在本例中是第一个,因为测试通过)
第一个是单词边界,后面是\u super
,后面是另一个单词边界,至少可以匹配“\u super”
、“\u super”
和单词
第二个匹配零个或多个字符(即所有字符)。使用fnTest
检查方法是否在某处使用\u super
。为此,函数被隐式转换为字符串()并与正则表达式相对应(在//中,将属性复制到新原型上)
然而,当调用函数的toString
方法时,并不是所有的实现都能真正生成函数的源代码。因此,这个测试检查函数({xyz;}
是否可以针对包含xyz
的对象进行测试-如果不能,则使用始终匹配的/.*/
来代替/\b\u super\b/fnTest
来检查方法是否在某处使用\u super
。为此,函数被隐式转换为字符串()并与正则表达式相对应(在//中,将属性复制到新原型上)
然而,当调用函数的toString
方法时,并不是所有的实现都能真正生成函数的源代码。因此,这个测试检查函数(){xyz;}
是否可以针对包含xyz
的内容进行测试-如果不能,则使用始终匹配的/.*/
来代替/\b\u super\b/
搜索“regex explainer”。它根据xyz.test的结果为fntest分配一个regex。除此之外,您还可以在浏览器的JS控制台中轻松地使用它,并从中找出答案。@pst:这个比那个简单。代码的目的似乎是,如果函数的计算结果为true,则返回\u super
,如果函数的计算结果为false,则返回*
。Haha可能重复。这是来自同一教授的重复使用的试题吗?搜索“regex explainer”。它根据xyz.test的结果为fntest分配一个regex。除此之外,您还可以在浏览器的JS控制台中轻松地使用它,并从中找出答案。@pst:这个比那个简单。代码的目的似乎是,如果函数的计算结果为true,则返回\u super
,如果函数的计算结果为false,则返回*
。哈哈,这是同一位教授重复使用的试题吗?