본문 바로가기

전체 글

(149)
함수의 용도2 함수는 리턴 값으로도 사용 할수 있습니다. function cal(mode){ var funcs = { 'plus' : function(left, right){return left + right}, 'minus' : function(left, right){return left - right} } return funcs[mode]; } alert(cal('plus')(2,1)); alert(cal('minus')(2,1)); 코드를 분석해 보자면 retur funcs[plus] 는 'plus' : function(left, right){return left + right}, 을 뜻하고 있으며 cal('plus') 여기 부분은 'plus' : function(left, right){return left + ..
값으로서의 함수 javaScript에서는 함수도 객체입니다. 다시 말해서 일종의 값입니다. 거의 모든 언어가 함수를 가지고 있다. JacaScript의 함수가 다른 언어의 함수와 다른 점은 함수가 값이 될 수 있다는 점이다. function a() {} let a = function( ) { } 위의 예제에서 함수 a는 변수 a에 담겨진 값입니다. 또한 함수는 객체의 값으로 포함될 수 있다. 이렇게 객체의 속성 값으로 담겨진 함수를 메소드라고 부릅니다. a={ b:function(){ } }; 여기서 b는 변수라고 불리면 속성 (property)입니다. 그 값은 함수입니다. 그 함수를 메소드 라고 합니다. 함수는 값이기 때문에 다른 함수의 인자로 전달 될수도 있습니다. 예를 보자면 function cal(func, nu..
유효범위의 대상(함수) 와 정적 유효 범위 자바스크립트는 함수에 대한 유효범위만을 제공한다. 많은 언어들이 블록(데체로 {,})에 대한 유효 범위를 제공하는 것과 다른점이다. 아래 예제의 결과는 coding everybody 이다. for(var i = 0; i < 1; i++){ var name = 'coding everybody'; } alert(name); for문 바깥쪽에서도 유용한 변수가 됩니다. 지역변수로서의 의미가 안된다. 다시말해 자바스크립트는 함수에 대한 유효범위만을 제공한다. var i = 5; function a(){ var i = 10; b(); } function b(){ document.write(i); } a(); 정답은 5입니다. 실행이 되면 i는 b라는 함수 안에서의 지연변수를 찾기 시작합니다. 지역변수가 존재 하지..
전역변수의 사용 불가피하게 전역변수를 사용해야 하는 경우는 하나의 객체를 전역변수로 만들고 객체의 속성으로 변수를 관리하는 방법을 사용합니다. 예를 들어보겠습니다. MYAPP = {} MYAPP.calculator = { 'left' : null, 'right' : null } MYAPP.coordinate = { 'left' : null, 'right' : null } MYAPP.calculator.left = 10; MYAPP.calculator.right = 20; function sum(){ return MYAPP.calculator.left + MYAPP.calculator.right; } document.write(sum()) MYAPP이라는 전역변수 하나만을 선언해줍니다. MYAPP이라는 속성으로 calcu..
유효 범위의 효용2 function a (){ var i = 0; } for(var i = 0; i < 5; i++){ a(); document.write(i); } 01234 가 출력됩니다. 그런데 function a (){ i = 0; } for(i = 0; i < 5; i++){ a(); document.write(i); } 화면 출력이 되지않습니다. 그이유는 i가 전역변수가 되기때문입니다. a()실행될때마다 i=0으로 초기화 되기 때문에 실행이 되지않습니다. 결코 i가 5보다 커지지 않게 됩니다. 이포스팅은 생활코딩을 참조하여 만든 포스팅입니다. egoing님 감사합니다.
시즌 함수2 유효범위 (Scope) 1 함수는 모듈화의 근간입니다. 유효범위는 변수의 수명을 의미한다. let vscope ='global' function fscope(){ let vscope='local'; alert(vscope); } fscope(); fscope()함수를 실행하게 되면 함수안에 있는 지역변수인 local 이 나타나게 됩니다. 함수안에서만 정의되어있는 vscope 은 지역변수라고합니다. let vscope ='global' function fscope(){ let vscope='local'; alert(vscope); } fscope(); fscope()함수를 실행하게 되면 함수안에 있는 전역변수인 global 이 나타나게 됩니다. 전역변수는 이 어플리케이션 전역에서 사용할수 있다. let vscope ='global'..
api 문서 보는 법 프로그래밍을 공부 하기 위한 자료는 크게 레퍼런스 와 안내서가 있다. 통상 듀프리얼을 언어 문법이라고 하고 레퍼런스를 그 명령어의 사전이라고의미 합니다. 자바스크립트의 API는 크게 자바스크립트 자체의 API와 자바스크립트가 동작하는 호스트 환경의 API로 구분된다. 자바스크립트 API문서 ECMAScript 표준문서 자바스크립트 레퍼런스(mdn) 호스트 환경의 API 웹브라우저 API Node.js API Google Apps Script API 이포스팅은 생활코딩을 참고해서 포스팅했습니다. 감사합니다. egoing님!