Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.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_Object - Fatal编程技术网

Javascript:有趣的正则表达式对象名?

Javascript:有趣的正则表达式对象名?,javascript,regex,object,Javascript,Regex,Object,我正在查看base.js的源代码, 在它里面有一个通过正则表达式引用的对象 if (ancestor && (typeof value == "function") && // overriding a method? // the valueOf() comparison is to avoid circular references (!ancestor.valueOf || ancestor.valueOf() != value.value

我正在查看base.js的源代码, 在它里面有一个通过正则表达式引用的对象

if (ancestor && (typeof value == "function") && // overriding a method?

    // the valueOf() comparison is to avoid circular references
    (!ancestor.valueOf || ancestor.valueOf() != value.valueOf()) && 
    /\bbase\b/.test(value)) {
就是那个“/\bbase\b/”对象

这是什么? 我的ide中的搜索引擎将其视为正则表达式?
谷歌搜索不会显示任何结果。

是的,在JavaScript中,
/…/
分隔文字。文本中的字符是模式本身。这大致相当于:

new RegExp("\\bbase\\b").test(value)
请注意,在上面的字符串文本(
“…”
)中,
\
字符需要转义,但在regex文本中则不需要转义。这使得使用文本编写正则表达式模式更加自然,这也是语言中包含regex文本的原因之一


\b
匹配任何单词边界,即前一个字符是单词字符,下一个字符不是单词字符,反之亦然。

是的,它是一个正则表达式\b表示单词边界,如空格。有关更多信息,请参阅。JavaScript解释器如何使用它?/它是如何工作的?上述问题的公认答案很好地解释了单词边界的工作原理。至于“JavaScript解释器如何使用它?”我不确定我是否理解您的问题。不,我只是感到困惑,因为代码使用正则表达式作为对象引用。如果有多个适合正则表达式的对象,会发生什么?它会在所有对象上执行任务吗?这是否更像一个宏?我想JavaScript必须在执行任何代码之前解析表达式。