함수에는 arguments라는 변수에 담긴 숨겨진 유사 배열이 있다. 이 배열에는 함수를 호출할 때 입력한 인자가 담겨있다. 아래 예제를 보자. 유사배열이래. 함수의 정의부분에서 인자에 대한 구현이 없음에도 인자를 전달 할 수 있는 것은 왜 그럴까? 그것은 arguments라는 특수한 배열이 있기 때문이다. 매개 변수 , 아귀먼츠.랭스 하나는 함수.length, 다른 하나는 arguments.length이다. arguments.length는 함수로 전달된 실제 인자의 수를 의미하고, 함수.length는 함수에 정의된 인자의 수를 의미한다. 유용하게 사용되니 확실하진않지만 한번은 보고넘어가시라~
클로저(closure)는 내부함수가 외부함수의 맥락(context)에 접근할 수 있는 것을 가르킨다. 클로저는 자바스크립트를 이용한 고난이도의 테크닉을 구사하는데 필수적인 개념으로 활용된다. -> 어려움 : 보고 정의를 봐라 먼저 내부함수와 외부함수를 이해해야한다. 내부함수 결과 : coding everybody 어떠한 함수가 있는 함수안에서만 사용? 함수 밖에 선언하면 응집성이 떨어짐 함수안에다 선언하면 그 함수안에만 사용기에 안에 선언한다. 작은 박스 내부 큰 박스 외부 클로저 내부 함수를 리턴하고있다. 아웃터라는 외부함수를 실행한 결과는 inner에 담음 inner를 호출 하면 coding everybody를 출력하게 된다. 내부함수는 이미 죽었는데 뭐래 하나도 모르겠어; 내부함수를 포함하고있는 외..
값으로서의 함수 함수도 객체이다. 거의 모든 언어가 함수를 가지고 있다. 아래처럼도 나타낼 수 있다. a 이란 변수엔 b라는 속성(함수)이 담겨있다. 함수가 변수에도 저장될수있고 그래서 자연스럽게 객체에도 저장될 수 있는데 그래서 메소드라고 불리운다. 반환값으로도 함수를 사용할 수 있는 예제 60.5 3번 11, 121, 60.5 왕복한 값 변수, 매개변수, 리턴값 처리의 위임 정렬에서 기본적으로 사용할 수 있는 방법은 배열.sort(); 라는 명령어를 쓸 수 있다. 기본 - 내장 객체 내장 메소드 빌트인 객체 빌트인 메소드 numbers (객체, 배열) . sort () (메소드); 넘버스에게 소트가 정렬을해라 라고 명령을 함 그럼 넘버안에 [] 대괄호 값을 출력 [20,10,9,8,7,6,5,4,3,..
전역 변수와 지역 변수 결과는 global이다. 함수의 정의를 바꿔보자. 로컬을 경고창에 출력하게 된다. 함수 안 지역변수와 함수 밖 전역변수에 관한 설명이다. 영어론 local, global 지역 = local 전역 = global var가 없을 경우 전역변수를 출력 전역변수를 제대로 사용할 수 없다면 지역변수를 써야합니다. 전역 변수는 쓰면 안된다는 인식이 존재한다. 유효범위의 효용 답 : 01234 var을 제거하면 브라우저는 무한로딩 후 다운된다. 같은 이름의 변수를 중복해서 사용했지만 각각의 취지가 다를때 문제가 발생할 수 있다. 이런 의미에서 유효범위를 만들게 되었다. 전역변수의 사용 어쩔 수 없이 전역변수를 사용해야할때 myapp이란 전역변수 하나만 생성을하고 변수하나에 값을 넣게 된다. 전..
Object -> 배열과 유사한 역할을 합니다. 데이터를 담아내는 컨테이너 (그릇) 객체를 만드는 방법 var grades = {'egoing' : 10, 'k8805' : 6, 'sorialgi' : 80}; //숫자는 인덱스의 값 반복문을 활용해서 객체를 다루는법 length보다 작은 숫자만큼 인덱스 값을 불러올 수 있다. 배열은 저장된 데이터들이 순서를 가지고있다. 데이터를 가져오게되면 집어넣었던 순서대로 가져올 수 있다. DOCTYPE html> 자바스크립트 생활코딩 var grades = {'egoing' : 10, 'k8805' : 6, 'sorialgi' : 80}; for(key in grades){ document.write("key :" +key+ "value: " + grades[ke..