함수를 호출 1) 함수를 호출하는 다른 방법 함수는 function 객체의 인스턴스이므로, function의 apply 메소드로도 호출이 가능 o1 = {val1:1, val2:2, val3:3} o2 = {v1:10, v2:50, v3:100, v4:25} function sum(){ var _sum = 0; for(name in this){ // 이 경우 this의 맥락은 호출할 때 정해짐 _sum += this[name]; } return _sum; } console.log(sum.apply(o1)) // 6 console.log(sum.apply(o2)) // 185 /* apply 메소드의 첫번째 인자에 입력된 o1, 혹은 o2는 * var this = o1; 처럼 정의된 것과 같은 효과, * ..
클로저 1) 클로저 개념 함수 outter의 리턴 값은 내부함수다. 그리고 변수 inner에 내부함수가 값으로 저장된다. outter 호출이 종료된 순간, outter는 사라진다. 하지만, inner()를 실행했을 때 알럿창에 coding everybody가 보인다. 내부함수는 외부함수가 종료되도 외부함수에 접근할 수 있다. function outter() { var title = 'coding everybody'; return function(){ alert(title); } } inner = outter(); inner(); private variable function factory_movie(title){ return{ get_title : function(){ return title; }, se..
값으로서의 함수와 콜백 1) 함수용도 1 자바스크립트에서는 함수도 객체이며, 함수도 값이 될 수 있다. function a(){} //함수는 a라는 변수에 담겨진 값. var a = function(){} a = { b : function(){ } } //함수는 객체 안에 저장될 수 있다. //b는 key, 객체 안에서 변수 역할(어떤 값을 저장하고 있기 때문) = 속성(property) //속성에 저장된 값이 함수면 메소드라 부름. //즉, a라는 객체에 b라는 속성이 있는데, 이 속성의 값은 함수(메소드)다. function cal (func, num){ return func(num) } function increase (num){ return num+1; } alert (cal (increase, ..
유효범위 1) 전역변수와 지역변수 전역변수 : 애플리케이션 전역에서 접근 가능한 변수 예제1) 지역변수와 전역변수의 구분1 var vscope = 'global'; //전역변수 function fscope(){ alert(vscope); } fscope(); //global 지역변수 : 함수 내에서만 접근 가능한 변수 예제2) 지역변수와 전역변수의 구분2 var vscope = 'global'; function fscope(){ var vscope = 'local'; //지역변수 var lv = 'local value'; //지역변수 alert(vscope); } fscope(); //local alert(lv); //undefined for문의 i는 전역변수기 때문에 해당 코드는 계속 실행되다가 브라우..
객체 1. 객체(Object) - 객체의 생성 var grades = {'egoing': 10, 'k8805': 6, 'sorialgi': 80}; : egoing은 key가 되고, 10은 value가 된다 - 다른 객체 생성 방법 var grades = {}; grades['egoing'] = 10; grades['k8805'] = 6; grades['sorialgi'] = 80; - 다른 객체 생성 방법 var grades = new Object(); grades['egoing'] = 10; grades['k8805'] = 6; grades['sorialgi'] = 80; - 객체 출력 var grades = {'egoing': 10, 'k8805': 6, 'sorialgi': 80}; alert(g..
배열 1. 배열의 문법 배열(array)이란 연관된 데이터를 모아서 통으로 관리하기 위해서 사용하는 데이터 타입이다. 변수가 하나의 데이터를 저장하기 위한 것이라면 배열은 여러 개의 데이터를 하나의 변수에 저장하기 위한 것이라고 할 수 있다. var name = 'egoing'; alert(name); var member = ['egoing', 'k8805', 'sorialgi']; // 배열 alert(member[0]); // egoing 출력 alert(member[1]); //k8805 출력 alert(member[2]); // sorialgi 출력 배열에 담겨있는 값을 가져올 때는 대괄호 안에 숫자를 넣는다. 이 숫자를 색인(index)라고 부르고 0부터 시작한다. 즉 첫번째 원소(egoing)..
함수 1. 함수란? 함수(function)란 하나의 로직을 재실행 할 수 있도록 하는 것으로 코드의 재사용성을 높여준다. // 설명 function 함수명( [인자...[,인자]] ){ 코드 return 반환값 } // 예 function numbering(){ i = 0; while(i < 10){ document.write(i); i += 1; } } numbering(); // 함수 호출 결과 : 0123456789 2. 함수의 효용, 부제 : 함수가 없다면? 문제 : 함수 없이 0부터 9까지를 1000번 출력해야 한다면? var i = 0; while(i < 10){ document.write(i); i += 1; } 이 코드를 1000번 사용 해야 한다. 하지만 함수를 사용 한다면, functi..