Javascript:有趣的正则表达式对象名?
我正在查看base.js的源代码, 在它里面有一个通过正则表达式引用的对象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
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必须在执行任何代码之前解析表达式。