Javascript 理解正则白空间字符

Javascript 理解正则白空间字符,javascript,jquery,regex,Javascript,Jquery,Regex,我刚刚浏览了jQuery库的addClass函数的代码,因为我需要为我自己的库创建一个类似于此的函数,我遇到了以下代码行: cur = elem.nodeType === 1 && ( elem.className ? ( " " + elem.className + " " ).replace( rclass, " " ) : " " ); 我相信这会返回当前节点

我刚刚浏览了jQuery库的addClass函数的代码,因为我需要为我自己的库创建一个类似于此的函数,我遇到了以下代码行:

cur = elem.nodeType === 1 && ( elem.className ?
                    ( " " + elem.className + " " ).replace( rclass, " " ) :
                    " "
                ); 
我相信这会返回当前节点的类,我了解它的大部分,直到我遇到我的威胁,regex的,
rclass
,现在
rclass
实际上是
/[\t\r\n\f]/g
,现在如果我使用来解码这个regrex,我会得到以下结果:

/[\t\r\n\f]/g
[\t\r\n\f] match a single character present in the list below
\t Tab (ASCII 9)
\r matches a carriage return (ASCII 13)
\n matches a line-feed (newline) character (ASCII 10)
\f matches a form-feed character (ASCII 12)
g modifier: global. All matches (don't return on first match)
我不能完全理解上面的内容,上面的内容到底是什么意思,好吧,我理解
\t Tab
,到底什么是
换行
换行

既没有公认的答案,也没有令人信服的答案

多谢各位


Alex-z.

它们本质上只是其他类型的换行空白字符

调用
replace()
将用一个简单的空字符串(
“”
)替换类名中所有制表符和换行符的实例


如果你真的想知道更多,你可以。

它们是空白字符
\n
换行
等同于输入或返回(
\r
\n
非常相似,)
\f
我不知道它是如何使用的,但我发现它也是一种空白形式


事实上,我确实复制了一些jQuery功能。这是未完成和未维护的,但那部分确实完成了。我是这样实现的:

/**
 * .addClass(name)
 * 
 * Add a class to the matched nodes
 * Possible polyfill: https://github.com/eligrey/classList.js
 * @param String name the class name we want to add
 * @return this Umbrella object
 */
u.prototype.addClass = function(name){
  // Loop through all the nodes
  this.each(function(){
    // Allow for several class names like "a b c"
    this.classList.add(name.split(" "));
  });
  return this;
};
表单提要(\f)基本上是一个分页符。现在它使用得不多,但仍在一些编辑器中使用

回车符(\r)和换行符(\l)是新行字符。这些是常见的地方,通常由新行(\n)捐赠,这表示“当前系统上的新行字符是什么”

在与UNIX相关的系统(如Linux和OSX)中,只有Windows使用时才使用\r\l。旧Mac(OSX之前)使用\r\n


所有这些都是旧的打字术语,已经被带到了计算机上。Windows更准确地复制了这一点,在向下和跨页面时都提供了新行。

表达式的可能副本基本上是寻找不同类型的空白字符,这些字符可用于在
class
attribute/
className
属性中分隔多个类。