경로 파라미터 추출 함수

 

 

function getUrlParameter(sParam) {
    var sPageURL = decodeURIComponent(window.location.search.substring(1)),
        sURLVariables = sPageURL.split('&'),
        sParameterName,
        i;

    for (i = 0; i < sURLVariables.length; i++) {
        sParameterName = sURLVariables[i].split('=');

        if (sParameterName[0] === sParam) {
            return sParameterName[1] === undefined ? true : sParameterName[1];
        }
    }
}

 

 

 

See the Pen mRJJxJ by Kiyeol Yoo (@spiegel) on CodePen.

 

 

경로에서의 파라미터(parameter)란 특정 주소에 값을 넘겨줄때 사용한다. 위의 소스에서는 get방식으로 데이터가 넘어갈때의 파라미터를 말한다. 가령 https://www.google.co.kr/?gfe_rd=cr&ei=cNPLWIjFFNWD0ATD5YYI&gws_rd=ssl#newwindow=1&q=%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0&*&dobs=%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0&spf=382 이런 주소가 있다면 https://www.google.co.kr/여기까지는 주소를 나타내며 ? 다음이 파라미터가 된다. 각 파라미터는 &를 구분자로 나누어지며 이름=값 형식을 가진다. 

위의 주소에서 

gfe_rd=cr

ei=cNPLWIjFFNWD0ATD5YYI

gws_rd=ssl#newwindow=1

q=%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0

*

dobs=%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0

spf=382

의 파라미터를 가지며 각 페이지에 값들을 전달하는 수단이 된다.



컴퓨터 프로그래밍에서 매개변수(영어: parameter 파라미터[*])란 변수의 특별한 한 종류로서, 함수 등과 같은 서브루틴[1]의 인풋으로 제공되는 여러 데이터 중 하나를 가리키기 위해 사용된다. 여기서 서브루틴의 인풋으로 제공되는 여러 데이터들을 전달인자(argument) 라고 부른다. 보통 매개변수의 목록은 서브루틴의 정의 부분에 포함되며, 매번 서브루틴이 호출될 때 마다 해당 호출에서 사용된 전달인자들을 각각에 해당하는 매개변수에 대입시켜 준다.

보통 수학에서 사용되는 것과 마찬가지로, 전달인자는 (log(37)에서 37과 마찬가지로) 실제로 함수 또는 루틴에 전달되는 값을 의미하며, 반대로 매개변수는 함수의 내부에서 해당 함수(앞의 예에서 log)로 전달된 값을 가리키기 위한 변수를 의미한다. 매개변수와 전달인자 단락 참조.

대부분의 경우 매개변수는 call by value의 형태로 동작하게 되며, 이 경우 서브루틴 내부에서 매개변수는 전달 인자를 복사한 독립적인 지역변수의 형태로 동작하게 된다. 반면 call by reference의 경우에는 서브루틴 내부에서의 동작이 이를 호출한 부분에서의 전달인자에 까지 영향을 주게 된다.

매개변수가 어떻게 정의되는지와 전달인자가 서브루틴의 매개변수에 어떻게 전달되는지에 대한 구문은 각각의 프로그래밍 언어에 따라 정의되지만, 이것이 각각의 컴퓨터 시스템 내부에서 실제로 어떻게 구현되는지에 대해서는 해당 시스템의 호출 규약에 달려있다.(위키백과)


위의 내용은 프로그래밍에서의 파라미터이다. 위키백과에서 발취하였다.


오늘의 소스를 보면 getUrlParameter라는 함수명에 sParam이란 파라미터값을 사용한다. 척 보면 알겠지만 웹주소에서 특정(sParam)이름의 파라미터의 값을 뽑는 함수이다. 예를 들어 위의 형식 중 gws_rd의 값을 알고 싶다면 getUrlParameter(gws_rd) 이런 식으로 사용할 수 있다.



반응형

'Javascript' 카테고리의 다른 글

문법과 타입  (0) 2020.01.04
처음 자바스크립트 시작하기  (0) 2020.01.04
아코디언  (0) 2017.07.10
Jquery 리스트 순서 랜덤 변경  (0) 2017.01.11
파일명 추출 함수  (0) 2017.01.06