JS 튜토리얼

제이에스 홈 JS 소개 JS 어디로 JS 출력 JS 문 JS 구문 JS 코멘트 JS 변수 제이에스렛 JS 상수 JS 연산자 JS 산술 JS 할당 JS 데이터 유형 JS 함수 JS 객체 JS 이벤트 JS 문자열 JS 문자열 메서드 JS 문자열 검색 JS 문자열 템플릿 JS 번호 JS 숫자 메서드 JS 배열 JS 배열 메서드 JS 배열 정렬 JS 배열 반복 JS 배열 상수 JS 날짜 JS 날짜 형식 JS 날짜 가져오기 메서드 JS 날짜 설정 방법 JS 수학 JS 랜덤 JS 부울 JS 비교 JS 조건 JS 스위치 JS 루프 In에 대한 JS 루프 의 JS 루프 JS 루프 동안 JS 브레이크 JS 이터러블 JS 세트 JS 맵 JS 유형 JS 유형 변환 JS 비트와이즈 JS 정규 표현식 JS 오류 JS 범위 JS 호이스팅 JS 엄격 모드 JS 이 키워드 JS 화살표 함수 JS 클래스 JS JSON JS 디버깅 JS 스타일 가이드 JS 모범 사례 JS 실수 JS 성능 JS 예약어

JS 버전

JS 버전 JS 2009(ES5) JS 2015(ES6) JS 2016 JS 2017 JS 2018 JS IE / 엣지 JS 연혁

JS 객체

객체 정의 개체 속성 개체 메서드 개체 표시 개체 접근자 객체 생성자 개체 프로토타입 객체 반복 가능 객체 세트 객체 맵 개체 참조

JS 함수

기능 정의 기능 매개변수 함수 호출 함수 호출 기능 적용 함수 클로저

JS 클래스

수업 소개 클래스 상속 클래스 정적

JS 비동기

JS 콜백 JS 비동기 JS 약속 JS 비동기/대기

JS HTML DOM

DOM 소개 DOM 메서드 DOM 문서 DOM 요소 DOM HTML DOM 양식 DOM CSS DOM 애니메이션 DOM 이벤트 DOM 이벤트 리스너 DOM 탐색 DOM 노드 DOM 컬렉션 DOM 노드 목록

JS 브라우저 BOM

JS 창 JS 화면 JS 위치 JS 연혁 JS 네비게이터 JS 팝업 경고 JS 타이밍 JS 쿠키

JS 웹 API

웹 API 소개 웹 양식 API 웹 기록 API 웹 스토리지 API 웹 작업자 API 웹 가져오기 API 웹 지리적 위치 API

JS 아약스

AJAX 소개 AJAX XMLHttp AJAX 요청 AJAX 응답 AJAX XML 파일 AJAX PHP AJAX ASP AJAX 데이터베이스 AJAX 애플리케이션 AJAX 예제

JS JSON

JSON 소개 JSON 구문 JSON 대 XML JSON 데이터 유형 JSON 구문 분석 JSON 문자열화 JSON 객체 JSON 배열 JSON 서버 JSON PHP JSON HTML JSON JSONP

JS 대 jQuery

jQuery 선택기 제이쿼리 HTML 제이쿼리 CSS 제이쿼리 DOM

JS 그래픽

JS 그래픽 JS 캔버스 JS 플로틀리 JS 차트.js JS 구글 차트 JS D3.js

JS 예제

JS 예제 JS HTML DOM JS HTML 입력 JS HTML 객체 JS HTML 이벤트 JS 브라우저 JS 편집기 JS 연습 JS 퀴즈 JS 인증서

JS 참조

자바스크립트 객체 HTML DOM 객체


자바스크립트 함수 매개변수


JavaScript function는 매개변수 값(인수)에 대한 검사를 수행하지 않습니다.


함수 매개변수 및 인수

이 튜토리얼의 앞부분에서 함수에 매개변수 가 있을 수 있다는 것을 배웠습니다 .

function functionName(parameter1, parameter2, parameter3) {
  // code to be executed
}

함수 매개변수함수 정의에 나열된 이름 입니다.

함수 인수 는 함수 에 전달되고 함수에 의해 수신되는 실제 값 입니다.


매개변수 규칙

JavaScript 함수 정의는 매개변수에 대한 데이터 유형을 지정하지 않습니다.

JavaScript 함수는 전달된 인수에 대해 유형 검사를 수행하지 않습니다.

JavaScript 함수는 수신된 인수의 수를 확인하지 않습니다.


기본 매개변수

함수가 누락된 인수 (선언된 것보다 작음)로 호출되면 누락된 값이 로 설정됩니다 undefined.

때로는 이것이 허용되지만 때로는 매개변수에 기본값을 할당하는 것이 더 좋습니다.

예시

function myFunction(x, y) {
  if (y === undefined) {
    y = 2;
  }
}

ECMAScript 2015 는 함수 선언에서 기본 매개변수 값을 허용합니다.

function myFunction(x, y = 2) {
  // function code
}


인수 객체

JavaScript 함수에는 arguments 객체라는 내장 객체가 있습니다.

인수 객체는 함수가 호출(호출)될 때 사용된 인수의 배열을 포함합니다.

이런 식으로 함수를 사용하여 숫자 목록에서 가장 높은 값을 (예를 들어) 찾을 수 있습니다.

예시

x = findMax(1, 123, 500, 115, 44, 88);

function findMax() {
  let max = -Infinity;
  for (let i = 0; i < arguments.length; i++) {
    if (arguments[i] > max) {
      max = arguments[i];
    }
  }
  return max;
}

또는 모든 입력 값을 합산하는 함수를 만듭니다.

예시

x = sumAll(1, 123, 500, 115, 44, 88);

function sumAll() {
  let sum = 0;
  for (let i = 0; i < arguments.length; i++) {
    sum += arguments[i];
  }
  return sum;
}

함수가 너무 많은 인수 (선언된 것보다 많음)로 호출 되면 arguments 객체 를 사용하여 이러한 인수에 도달할 수 있습니다 .


인수는 값으로 전달됩니다.

함수 호출에서 매개변수는 함수의 인수입니다.

JavaScript 인수는 으로 전달됩니다 . 함수는 인수의 위치가 아닌 값만 알게 됩니다.

함수가 인수의 값을 변경하더라도 매개변수의 원래 값은 변경하지 않습니다.

인수에 대한 변경 사항은 함수 외부에서 표시(반사)되지 않습니다.


개체는 참조로 전달됩니다.

JavaScript에서 객체 참조는 값입니다.

이 때문에 객체는 참조로 전달된 것처럼 동작합니다.

함수가 객체 속성을 변경하면 원래 값이 변경됩니다.

객체 속성의 변경 사항은 함수 외부에서 볼 수 있습니다(반사됨).