我发现了这句话:
userName = document.cookie.split("=")[1];
Run Code Online (Sandbox Code Playgroud)
在阅读了w3schools的拆分声明之后.这说明分裂的语法是
string.split(separator, limit).然后在第一个parens之后方括号是什么.意思 ?如果这是真的,那么split函数是什么样的?
String.split(separator, limit)返回一个数组.在Javascript中,您可以使用方括号按索引访问数组值.数组是从零开始的,0是第一个元素,1第二个是等等.
相当于你的代码:
var arr = document.cookie.split("=");
userName = arr[1];
Run Code Online (Sandbox Code Playgroud)
这将使用document.cookie等号(=)分隔并从中获取第二个元素(索引1).document.cookie是对象的特殊属性(datatype:String),document它包含由该;字符分隔的网页的所有cookie .例如,如果document.cookie包含name=Adam,则数组arr将包含值name和Adam.第二个存储在userName.
请注意,如果cookie包含多个值,或者该值包含多个等号,则它将不起作用.考虑下一个案例:
document.cookie包含name=Adam; home=Nowhere.使用上面的代码,这将userName包含,Adam; home因为字符串由等号分隔,然后获取第二个值.document.cookie包含home=Nowhere; name=Adam.这将导致userName包含Nowhere; namedocument.cookie包含name=Adam=cool.在这种情况下,userName将是Adam和不Adam=cool.此外,w3schools 并不可靠.使用更多的授权来源,如Mozilla开发者网络: