URL 값을 가져오는 데 다음 함수가 사용되는 것을 확인하세요.
으아아아근데 여기서는 [,null]이라는 표현이 뭔지 모르겠어요.
怪我咯2017-06-26 11:00:11
이 함수의 목적은 URL http://www.xxx.com/index.html?key=hello&value=world*
,此时的location.search
等于?key=hello&value=world
。比如要获取key
的值("hello"),调用getURLParameter("key")
과 같은 URI의 특정 매개변수 값을 가져오는 것입니다.
exec의 구문은 다음과 같습니다:
일치하는 경우 반환 결과는 배열입니다. 배열의 첫 번째 요소는 일치하는 하위 문자열이고 후속 요소는 캡처링 괄호의 내용입니다. 정규식에서 볼 수 있듯이 우리에게 필요한 결과는 다음과 같습니다. 번째 캡처 괄호 의 내용은 배열의 두 번째 요소 이므로 [1]
;
예를 들어 URL이 여전히 위의 URL이라고 가정하면 getURLParameter("key")
를 호출하고 일치하는 결과는 ["key=hello&", "hello", "& "]
, "key=hello&"
는 일치하는 하위 문자열이고, "hello"
는 첫 번째 캡처 괄호의 내용이고, "&"< /code>는 두 번째 캡처링 괄호의 내용입니다.
["key=hello&", "hello", "&"] || [,null]
결과는 물론 이전 항목인 ["key=hello&", " hello ", "&"]
를 입력하고 getURLParameter("key")
,匹配的结果是["key=hello&", "hello", "&"]
,"key=hello&"
是匹配的子串,"hello"
是第一个捕获型括号的内容,"&"
是第二个捕获型括号的内容。["key=hello&", "hello", "&"] || [,null]
的结果当然是前一项,也就是["key=hello&", "hello", "&"]
, 然后取[1]
,整个函数的返回值就是"hello"
를 취하면 전체 함수의 반환 값은 "hello"
입니다.
그러나 getURLParameter("time")
을 호출하면 매칭이 실패하므로 결과는 null이 됩니다. 이때 getURLParameter("time")
,匹配失败,所以结果是null,此时如果你调用[1]
就会报错。[,null]
表示[undefined, null]
,当匹配失败的时候,就变成了null || [undefined, null]
这个结果是[undefined, null]
,此时再[1]
就不会报错了,此时整个函数返回的是null
를 호출하면 오류가 보고됩니다. [,null]
은 [정의되지 않음, null]
을 의미합니다. 일치에 실패하면 null ||
[정의되지 않음, null]
이 때 오류는 보고되지 않으며 전체 함수는 null
을 반환합니다.
getURLParameter
함수를 호출한 후 반환 값이 null인지 판단할 수 있습니다. null이면 해당 매개 변수가 URL에 없다는 뜻이고, null이 아니면 반환 값은 필수 매개 변수 값입니다.
代言2017-06-26 11:00:11
게으른 접근 방식, (name + '=' + '(.+?)(&|$)').exec(location.search)
일치에 성공한 경우. 결과는 null이 아닙니다. (.+?)
는 일반 일치 값 [1]
입니다. 일치가 실패하면 exec는 null을 반환합니다. (name + '=' + '(.+?)(&|$)').exec(location.search)
如果匹配成功。结果不会null。(.+?)
就是正则匹配的值[1]
。而如果匹配失败,exec返回null。[,null]
第一个值为undefined
,这个操作只是统一了返回值为null,关键还是最后面的[1]
导致的
如果后面的是[0]
,那[,null]
可以改写为[null]
[,null]
첫 번째 값은 정의되지 않음
입니다. 이 작업은 반환 값만 null로 통합합니다. 키는 마지막 [1]
입니다. 원인
[0]
이면 [,null]
을 [null]
로 다시 쓸 수 있습니다🎜扔个三星炸死你2017-06-26 11:00:11
이것과 같습니다
으아악그러나 이전 섹션(RegExp(name + '=' + '(.+?)(&|$)').exec(location.search))에서 매개변수 값을 얻지 못한 경우 오류가 보고됩니다. [1]을 직접 가져옵니다. 따라서 끝에 [,null]을 추가하는 것은 [undefine, null]과 동일하며, 끝에 [1]을 사용하면 URL 매개변수 때문에 배열 범위를 벗어난 오류가 발생하지 않도록 할 수 있습니다. 얻을 수 없습니다