JavaScript15 '함수의 다양한 형태' 함수와 프로토타입 체이닝 콜백함수특정 이벤트의 발생, 특정 시점에 도달한 경우 시스템에서 호출되는 함수익명함수의 대표적인 용도자세히 http://illua.tistory.com/40 즉시실행 함수함수를 정의함과 동시에 바로 실행하는 함수주로 최초 한 번의 실행만을 필요로하는 초기화 코드 부분 등에 사용(라이브러리의 초기화 등)1.함수 리터럴을 괄호 ()로 둘러쌈2.함수를 바로 호출할 수 있도록 괄호 끝에 괄호()를 추가3.추가한 괄호에 값을 추가해 즉시 실행 함수의 인자로 넘겨 실행시킴(function (name){console.log('This is the immediate function' + name);})('good');결과 : This is the immediate function good 내부함수 클로저 생성부모 함수.. 2016. 10. 16. '함수 객체의 기본 프로퍼티' 함수와 프로토타입 체이닝 name함수의 이름익명 함수일 경우 null caller자신을 호출한 함수호출하지 않은 경우 null arguments전달된 인자값인자 없는 경우 null [[prototype]], _proto_모든 부모의 객체를 가리키는 내부 프로퍼티 prototype이 함수가 생성자로 사용될 때이 함수를 통해 생성된 객체의 부모 역할을 하는 프로토타입 객체를 가리키는 내부 프로퍼티*자바스크립트에서는 함수를 생성할 때, 함수 자신과 연결된 프로토타입 객체를 동시에 생성, 서로를 참조함add()함수의 프로토타입 객체 = add.prototype lengthECMAScript에서 정한 모든 함수가 가져야하는 표준 프로퍼티함수가 정상적으로 실행될 때 기대되는 인자의 개수 2016. 10. 15. '함수도 객체다' 함수와 프로토타입 체이닝 함수도 일반 객체처럼 프로퍼티(이하 값)를 줄 수 있음function add(x, y){return x+y;}add.result = add(5,5);add.status = 'ok'; 일급 객체, 자바스크립트에서 함수는 값으로 취급1.리터럴에 의해 생성2.변수나 배열의 요소, 객체의 프로퍼티 등에 할당 가능var ret = 100;var ret = function(){ return 100; }*둘다 동일 3.함수의 인자로 전달 가능var ret = function(func){func();};ret(function(){console.log('Function used');}); 4.함수의 리턴값으로 리턴 가능var ret = function(){return function(){console.log('retur.. 2016. 10. 14. '함수를 생성하는 3가지 방법' 함수와 프로토타입 체이닝 자바스크립트에서 함수도 일반 객체처럼 값으로 취급모두 같은 함수를 생성하지만 각각의 방식에 따라 미묘한 동작 차이 발생 함수 선언문(function statement)함수 리터럴 형태와 동일반드시 함수명 정의 function add(a, b){return a+b;} 함수 표현식(function expression)함수도 숫자나 문자열처럼 변수에 할당하는 방식 var add = function(a, b){return a+b;}*익명함수, 위 함수와 같이 이름이 없는 함수 Function() 생성자 함수(function constructor)위 두 방식은 내부적으로 생성자 함수를 호출하게 됨코드작성에 잘 사용하지 않음new Function('a', 'b', 'return a+b'); *미묘한 동작 차이함수 .. 2016. 10. 14. 이전 1 2 3 4 다음