Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有人能解释这个正则表达式吗_Javascript_Regex - Fatal编程技术网

Javascript 有人能解释这个正则表达式吗

Javascript 有人能解释这个正则表达式吗,javascript,regex,Javascript,Regex,我偶然看到john resig的一篇文章解释JavaScript继承。 在本文中,有一个类实现代码,其中起始行有一个regexp fnTest = /xyz/.test(function(){xyz;}) ? /\b_super\b/ : /.*/; 谁能告诉我这是什么意思吗?有两个正则表达式。第一个是/xyz/,用于测试函数(强制为字符串)是否匹配xyz。是的。然后,返回两个正则表达式中的一个(在本例中是第一个,因为测试通过) 第一个是单词边界,后面是\u super,后面是另一个单词边界

我偶然看到john resig的一篇文章解释JavaScript继承。

在本文中,有一个类实现代码,其中起始行有一个regexp

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,则返回
*
。哈哈,这是同一位教授重复使用的试题吗?