Javascript .split(/\s+;/)和.split(";)之间的区别?
)首先,对不起,我的孩子 我正在看下一个js代码片段:Javascript .split(/\s+;/)和.split(";)之间的区别?,javascript,regex,Javascript,Regex,)首先,对不起,我的孩子 我正在看下一个js代码片段: var classes = element.className.split(/\s+/); 该代码将把和元素的完整类名拆分为包含每个类的数组。。。但是,使用.split(/\s+/)和使用.split(“”)有什么区别呢?我看到了同样的结果 我用Chrome中的下一个简单代码对此进行了测试: <!DOCTYPE html> <html> <body> <div id="cono&
var classes = element.className.split(/\s+/);
该代码将把和元素的完整类名拆分为包含每个类的数组。。。但是,使用.split(/\s+/)
和使用.split(“”
)有什么区别呢?我看到了同样的结果
我用Chrome中的下一个简单代码对此进行了测试:
<!DOCTYPE html>
<html>
<body>
<div id="cono" class="clase1 clase2 clase3-xD">
</div>
<script>
var d = document.getElementById("cono");
console.log(d.className);
var classes = d.className.split(" ");
for (i in classes) {
console.log(classes[i]);
}
</script>
</body>
</html>
var d=document.getElementById(“cono”);
console.log(d.className);
var classes=d.className.split(“”);
(我在课堂上){
console.log(类[i]);
}
无论我使用.split(“”)还是.split(/\s+/)
,我都会得到相同的结果:
类别1类别2类别3 xD
类别1
类别2
类别3 xD
它们有什么相关的区别吗?没有,.split(/\s+/)
和是不同的<代码>\s+
匹配一个或多个空格字符,包括换行符,“
匹配单个水平空格字符。因此,.split(/\s+/)
根据一个或多个空格字符分割输入,.split(“”)
根据单个空格分割输入
例如:
> "foo bar".split(/\s+/)
[ 'foo', 'bar' ]
> "foo bar".split(" ")
[ 'foo', '', '', 'bar' ]
\s
捕获的空白类型多于空格
发件人:
匹配单个空白字符,包括空格、制表符、换行符、换行符。相当于[\f\n\r\t\v\u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]
另外,+
表示它将在多个空格上匹配。因此foo bar
将产生不同的结果:
js> 'foo bar'.split(' ')
["foo", "", "", "", "", "", "bar"]
js> 'foo bar'.split(/\s+/)
["foo", "bar"]
.split(“”)和.split(/\s+/)之间的区别是:
正则表达式“
- 逐字匹配空格字符
正则表达式/\s+/
- 在一次和未提交时间之间匹配单个空格字符(制表符、换行符、回车符、垂直制表符、换行符)。(贪婪的)
简称:
“”
将数组拆分为一个空格字符。
/\s/
按每种空格字符拆分数组
+
在一次和未授权时间之间进行匹配
\s
捕获的空白多于空格character@Antony太好了哦我明白了。。。因此,即使元素的类被多个空格分隔,\s+也可以正常工作。。。谢谢!:)是的,但是他也回答了这个问题。。。所以我感谢你和他ahah@Justme