>웹 프론트엔드 >JS 튜토리얼 >js URL 매개변수 분해(객체지향 미니멀 메소드 적용)_javascript 기술

js URL 매개변수 분해(객체지향 미니멀 메소드 적용)_javascript 기술

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-05-16 17:51:031211검색

수정 전:

코드 복사 코드는 다음과 같습니다.



수정 후:
코드 복사 코드는 다음과 같습니다.



이 방법을 더 엄격하고 효율적으로 다시 작성해 준 풀뿌리 프로그래머들에게 감사드립니다. ! !


function getQueryString(url) {
if(url) {
url=url.substr(url.indexOf("?") 1); //문자열 차단, 이전 분할보다 더 좋음 () 이 방법은 매우 효율적입니다.
}
var result = {}, //이름과 값을 저장할 객체를 생성합니다.
queryString =url || location.search.substring(1), //location . 검색은 물음표(?)로 시작하는 URL(쿼리 부분)을 설정하거나 반환합니다.
re = /([^&=] )=([^&]*)/g, //일반, 특히
m
while (m = re.exec(queryString)을 사용하지 않습니다. ) { //exec() 정규식 일치, 특히
result[decodeURIComponent(m[1])] = decodeURIComponent(m[2]) //decodeURIComponent()를 사용하여 URI 디코드를 인코딩합니다.
}
결과 반환
}
// 데모
var myParam = getQueryString("www.taobao.com?key0=a&key1=b&key2=c")
Alert(myParam.key1);



참고:
1, substr() 및 substring(start,stop)은 첨자 사이에 지정된 두 문자 사이의 문자열을 추출합니다.
중요: Slice() 및 substr() 메서드와 달리 substring()은 음수 인수를 허용하지 않습니다.

http://www.jb51.net/w3school/js/jsref_substring.htm

2. location.search.substring(1), location.search가 질문에서 설정되거나 반환됩니다. 표시( ?) 시작 URL(쿼리 부분)입니다. http://www.jb51.net/w3school/htmldom/prop_loc_search.htm

을 참조하세요. 3. exec() 메서드는 문자열에서 정규식 일치 항목을 검색하는 데 사용됩니다. 너무 강력해서 아직 사용법을 모르겠습니다 참고http://www.jb51.net/w3school/js/jsref_exec_regexp.htm

4. 인코딩된 URI 디코딩을 인코딩합니다. http://www.jb51.net/w3school/js/jsref_exec_regexp.htm
참조
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.