이 함수의 목적은 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"는 첫 번째 캡처 괄호의 내용이고, "&"는 두 번째 캡처링 괄호의 내용입니다. ["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이 아니면 반환 값은 필수 매개 변수 값입니다.
게으른 접근 방식, (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]입니다. 원인
그러나 이전 섹션(RegExp(name + '=' + '(.+?)(&|$)').exec(location.search))에서 매개변수 값을 얻지 못한 경우 오류가 보고됩니다. [1]을 직접 가져옵니다. 따라서 끝에 [,null]을 추가하는 것은 [undefine, null]과 동일하며, 끝에 [1]을 사용하면 URL 매개변수 때문에 배열 범위를 벗어난 오류가 발생하지 않도록 할 수 있습니다. 얻을 수 없습니다
이 함수의 목적은 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"
는 첫 번째 캡처 괄호의 내용이고,"&"는 두 번째 캡처링 괄호의 내용입니다.
["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이 아니면 반환 값은 필수 매개 변수 값입니다.게으른 접근 방식,
뒤에 나오는 내용이(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]
로 다시 쓸 수 있습니다🎜[,null][1] null이 아닌가요? 이전 항목이 일치하지 않으면 null이 반환됩니다
이것과 같습니다
으아악그러나 이전 섹션(RegExp(name + '=' + '(.+?)(&|$)').exec(location.search))에서 매개변수 값을 얻지 못한 경우 오류가 보고됩니다. [1]을 직접 가져옵니다. 따라서 끝에 [,null]을 추가하는 것은 [undefine, null]과 동일하며, 끝에 [1]을 사용하면 URL 매개변수 때문에 배열 범위를 벗어난 오류가 발생하지 않도록 할 수 있습니다. 얻을 수 없습니다