JS, jQuery, Ajax Show Javascript function (파라미터 값의 전달), (다중 파라미터)
2016. 5. 30. 0:01 파라미터 (Parameters) f(x) = x + 1 함수 f(x)가 존재할 때, f(2)의 결과는 3이고, f(5)의 결과는 6이다. 즉, 함수 f(x)는 자신이 실행되는데 있어서 필요한 조건값 x를 갖는다. 이렇게 함수가 실행되는데 필요한 조건값을 매개변수, 혹은 파라미터라고 부른다. 자바스크립트 함수의 파라미터 자바스크립트에서는 함수의 이름뒤에 위치한 괄호() 안에 파라미터를 기술한다. 파라미터가 있는 함수는 호출시 괄호안에 전달하고자 하는 파라미터 값을 기술한다.
다중 파라미터 f(x, y) = x * y + 1 위의 방정식이 계산되기 위해서는 두 개의 매개변수가 필요하다. 즉, f(2, 3)과 같이 사용되어야 7이라는 결과를 얻을 수 있게 된다. 자바스크립트 함수의 다중 파라미터 자바스크립트에서도 파라미터를 콤마(,)로 구분하여 여러개 사용할 수 있다.
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> <title>PopUp Test</title> <script type="text/javascript"> var url,title,w,h;//window.open()에 들어갈 인자값을 변수로 선언 function popUrl(url,title,w,h){ //popUrl이라는 함수를 만들고, 들어갈 매개변수도 지정 window.open(url,title,'width='+w+',height='+h+''); //window.open(arg1,arg2,ag3,arg4) 메서드를 실행 하도록 한다. } </script> </head> <body> <p><a href="#" onclick="popUrl('http://www.naver.com','naver','400','300')">네이버 바로가기</a></p> <p><a href="#" onclick="popUrl('http://www.nate.com','nate','300','500')">네이트 바로가기</a></p> <p><a href="#" onclick="popUrl('http://www.daum.net','daum','1024','768')">다음 바로가기</a></p> </body> </html> 여기서는 popUrl이라는 함수를 실행 하면 open()이라는 메서드를 작동하는 예제를 보여 줍니다. 여기서 window.open()이 의미 하는 것은 window 객체 하위에 있는 open()메서드를 의미 하며 이녀석은 자바스크립트 안에 존재하는 내장 메서드 입니다. 그리고 주석에 나와있듯이 window.open(arg1,arg2,ag3,arg4) 4개의 인자 값을 필요로 하고 각 인자 값은 주소, 창 이름, 가로크기, 세로크기 입니다. 그리고 body 영역을 보시면 해당 메서드를 사용하는 부분이 나와 있습니다. onclick=""을 이용하여 호출 하는 모습 인데요, 호출한 메서드와 인자 값이 들어 있습니다. 이처럼 인자 값은 사용하는 메서드가 필요로 한다면 여러개가 될 수도 있습니다. 기본값 함수 매개변수 (default function parameter)를 사용하면 값이 없거나 설명JavaScript에서, 함수의 매개변수는 과거에
기본값 설정을 위한 일반적인 방법은 함수 내부(body)에서 매개변수 값을 검사해 다음 예제에서,
이를 방지하기 위해서, 아래 두번째 줄과 같이
ES2015의 기본값 매개변수로 함수 내부 에서의 검사는 더 이상 필요치 않습니다. 이제, 간단히 함수 머리(head)에서
예제undefined vs. 다른 거짓같은 값(falsy values) 전달하기아래 예제중 두 번째 호출에서, 설사 두 번째 인수를 호출할 때 명시해서
호출 시 평가기본 인수는 호출 시 에 평가됩니다, 그래서 Python의 경우 와는 달리, 함수가 호출될 때마다 새로운 객체가 생성됩니다.
이는 심지어 함수 및 변수에도 적용됩니다:
앞쪽 매개변수는 뒷쪽의 매개변수 기본값에 사용할 수 있습니다매개 변수가 여러개일 때 앞쪽에( 왼쪽 부분) 정의된 매개변수는 뒷쪽에 정의된 매개변수의 기본값에 바로 사용할 수 있습니다.
이 기능은, 얼마나 많은 경계 조건(edge case)를 다룰수 있는지 보여주는, 아래 예제로 거의 설명 가능합니다.
유효범위 효과 (Scope Effects)한개 이상의 매개변수에 기본값이 지정되면 특별히 매개변수 목록내의 식별자들(identifiers) 대상으로, 두번째 스코프 (Environment Record) 가 생성됩니다. 이 말은 함수 내부에 선언된 함수와 변수들은 매개변수 기본값 초기화시에 참조할 수 없다는 말입니다; 그렇게 하려고 하면 실행시간 에러인 이 말은 또한 함수 내부에서 아래 함수는 호출되면
...그리고 아래 함수는
기본값 매개변수 뒤쪽의 기본값 없는 매개변수매개변수는 여전히 왼쪽에서 오른쪽으로 설정됩니다. 아래 예제에서 뒷쪽에 기본값이 없는 매개변수가 있지만 기본값 매개변수를 덮어씁니다.
기본값 할당 있는 해체된 매개변수기본값 할당을 destructuring assignment 표기와 함께 사용할 수 있습니다:
명세서
브라우저 호환성BCD tables only load in the browser 참조 |