分割功能是什么样的?

时间:2011-09-22 15:59:28

标签: javascript split

我发现了这句话:

userName = document.cookie.split("=")[1];

阅读有关拆分声明here at w3schools的内容。这说明分裂的语法是 string.split(separator, limit)。然后在第一个parens之后方括号是什么。意思 ? 如果这是真的split函数是什么样的?

7 个答案:

答案 0 :(得分:5)

String.split(separator, limit)返回一个数组。在Javascript中,您可以使用方括号按索引访问数组值。数组从零开始,0是第一个元素,1是第二个元素,依此类推。

相当于您的代码:

var arr = document.cookie.split("=");
userName = arr[1];

这将document.cookie与等号(=)分开,并从中获取第二个元素(索引1)。 document.cookiedocument对象的特殊属性(数据类型:String),其中包含由;字符分隔的网页的所有Cookie。例如。如果document.cookie包含name=Adam,则数组arr将包含值nameAdam。第二个存储在userName

请注意,如果cookie包含多个值,或者该值包含多个等号,则它将不起作用。考虑下一个案例:

  • document.cookie包含name=Adam; home=Nowhere。使用上面的代码,这会使userName包含Adam; home,因为字符串由等号分隔,然后是第二个值。
  • document.cookie包含home=Nowhere; name=Adam。这会导致userName包含Nowhere; name
  • document.cookie包含name=Adam=cool。在这种情况下,userName将是Adam而不是Adam=cool

此外,w3schools是not that reliable。使用更多的授权来源,如Mozilla开发者网络:

答案 1 :(得分:2)

split函数返回由给定分隔符分割的array个字符串。使用方括号,您将访问该(返回)数组的第n个元素。

如果您熟悉Java,那么它的行为与String.split()方法相同。

答案 2 :(得分:1)

它获取结果数组的第二个索引

同样:

var split = document.cookie.split("=");
var userName = split[1];

答案 3 :(得分:1)

split返回一个字符串数组。所以方括号意味着从返回的数组中获取第二个字符串。

答案 4 :(得分:1)

您提供的代码中的方括号是访问split()返回的数组的第二个元素。函数本身返回一个数组。该代码与以下内容相同:

var temp = document.cookie.split("=");
userName = temp[1];

答案 5 :(得分:1)

Split会返回一个数组,例如[1,2,3]。如果在它之后提供方括号,它将返回括号中的指定键,在这种情况下userName将为2

答案 6 :(得分:1)

shouldn't be using w3schools,但是......

在JavaScript中,函数参数是可选的,可以提供比函数预期更少的参数。然后,函数中的额外参数是未定义的。有些函数被编程来处理这种可能性,而string.split就是其中之一。

另一部分与split返回数组的事实有关。然后可以使用方括号表示法对数组进行索引,因此在函数调用之后使用[1]