IT/JavaScript (7) 썸네일형 리스트형 DOM 간단 히스토리 1. Legacy DOM - 1996년 Netscape Communication Navigator 2.0 은 JavaScript를 Internet Explorer 3.0 은 JScript (a part of JavaScript) 를 릴리즈 함. - 이 스트립트들은 제한된 detecting user-generated events 기능과 HTML 수정 기능을 제공함. - 이후 이를 DOM Level 0 라고 함. - 엑세스 할 수 있는 elements 가 제한됨. - Form, link, image elements 는 root document object로 시작하는 계층적 이름 (hierarchical name)을 통해서만 접근이 가능함. - 계층적 이름 (hierarchical name)은 names 또는.. JavaScript #3 함수-5 14. Currying (커링) - 함수와 인수를 결합하여 새로운 함수를 만들 수 있게 한다. - 하나의 파라미터를 가진 함수를 여러번 호출하는 것과 같은 방법으로 여러 개의 파라미터를 가진 함수로 변형하는 것을 말한다. - 자바스크립트는 자체적으로 currying 메소드가 없으므로 아래와 같이 구현한다. - 개인적으로 어디다 이런 기능을 써야할지는 아직 잘 모르겠다. [code javascript] var print = function (strLog) { document.write (strLog); document.write (' '); }; // 함수 객체에 method 추가 Function.prototype.method = function (name, func) { if (!this.prototyp.. JavaScript #3 함수-4 11. 콜백 - 비연속적인 이벤트를 다루는데 좀더 효율적인 방법이다. - 예를들어 서버로부터 응답을 기다리지 않고 바로 리턴을 한 후 응답이 왔을 때 해당 함수를 호출하는 것이 더 효율적이다. [code javascript] // 이 예제는 개념적인 설명이므로 함수 이름에 신경쓸 필요가 없다. // send_request_synchronously 함수를 호출하면 // 리턴값이 올 때까지 대기해야한다. request = prepare_the_request (); response = send_request_synchronously (request); display (response); // send_request_asynchronously 함수는 호출즉시 바로 리턴되며 // 리턴값이 오면 함께 넘긴 함수를 .. JavaScript #3 함수-3 10. Closure - 내부 함수에서 자신을 포함하고 있는 외부 함수의 매개변수와 변수들을 접근할 수 있다. : 단, this와 arguments는 예외 - 이 기능을 이용하면 아래와 같이 private 속성을 구현할 수 있다. [code javascript] var print = function (strLog) { document.write (strLog); document.write (' '); }; // myObject는 함수의 실행 결과를 리턴받았기 때문에 // 외부에서 함수의 내부 변수 (var value)에 접근할 수 없다. // 따라서 함수 내부에서 정의된 개체를 통해서만 접근할 수 있다. var myObject = function () { var value = 0; return { inc.. JavaScript #3 함수-2 4. 인수 배열 (arguments) - 함수를 호출할 때 전달된 모든 인수를 접근할 수 있게 한다. : 매개변수 개수보다 더 많이 전달된 인수도 포함한다. [code javascript] var print = function (log) { document.write (log); document.write (' '); }; var sum = function () { var i, sum = 0; // arguments 는 length라는 속성은 있지만 // 모든 배열이 가지고 있는 메소드가 있는 것은 아니다. // - 저자는 설계상의 문제로 지적했다. for (i = 0; i < arguments.length; i += 1) { sum += arguments[i]; } return sum; }; print.. JavaScript #2 함수-1 1. 함수 객체 - 함수는 객체이다. : 객체는 prototype 객체로 숨겨진 연결을 갖는 name/value 쌍들의 집합체이다. : 객체는 Object.prototype에 연결된다. - 함수 객체는 Function.prototype에 연결된다. : Function은 Object.prototype에 연결된다. - 모든 함수는 숨겨진 두 가지 속성이 있다. : context (함수의 문맥), code (함수의 행위를 구현) - 모든 함수 객체는 prototype이라는 속성이 있다. : prototype 속성은 객체이며 constructor 라는 속성을 포함하고 있다. : constructor는 함수 자체를 값으로 가진다. - 함수를 다른 객체와 구분 짓는 특징은 호출할 수 있다는 점이다. - 아래는 시험.. JavaScript #1 객체 1. 객체 리터럴 - 아무 것도 없거나 하나 이상의 이름/값 쌍들을 둘러싸는 중괄호이다. - 속성 이름은 어떤 문자열이라도 가능 (빈 문자열 포함) 하다. - 속성 이름이 유효한 이름이고 예약어가 아니면 따옴표는 생략가능하다. [code javascript] var objHello = {}; var objName = { "first-name": "Tae Gon", "last-name": "Kim", // '-' 이 있으므로 따옴표 사용 number: 9876 // 유효하고 예약어가 아니므로 따옴표 생략 }; [/code] 2. 속성값 읽기/갱신/추가 - 대괄호([])를 사용하여 읽는다. - 유효한 이름이고 예약어가 아닌 경우 마침표(.)를 대신 사용가능하다. - 존재하지 않는 속성을 읽으면 undefin.. 이전 1 다음