728x90
반응형

JavaScript 67

숫자와 Number 객체

자바스크립트에서 숫자 데이터는 다음과같이 변수에 저장하여 사용한다. var number = 273; var numberLiteral1 = 273; var numberLiteral2 = 273; console.log('리터럴숫자1 == 리터럴숫자2 : ',numberLiteral1 == numberLiteral2); console.log('타입 체크 : ',typeof numberLiteral1, typeof numberLiteral2) console.log('리터럴숫자1 === 리터럴숫자2 : ',numberLiteral1 === numberLiteral2); var numberLiteral = 273; var numberConstructor = new Number(273); console.log('리터..

Object 객체

object 객체는 자바스크립트의 최상위 객체이다. 자바스크립트의 가장 기본적인 내장 객체는 Object 객체로 정확히는 Object 생성자 함수로 만든 인스턴스지만 간단하게 Object 객체라고 표현한다. Object객체 생성 var object = {}; var object = new Object(); Object객체의 메서드 constructor( ) : 객체의 생성자 함수를 나타낸다. hasOwnProperty( ) : 객체가 name속성이 있는지 확인한다. isPrototypeOf( ) : 객체가 object의 프로토타입인지 검사한다. propertyIsEnumerable( ) : 반복문으로 열거할 수 있는지 확인한다. toLocaleString( ) : 객체를 호스트 환경에 맞는 언어의 문자열..

기본 자료형과 객체의 차이

기본 자료형은 자바스크립트의 여섯가지 자료형 중 숫자, 문자열, 불 세가지 자료형을 의미한다. 기본 자료형과 객체의 특성이 다르므로 차이를 둔다. var primitiveNumber = 273; var objectNumber = new Number(273); var output = ''; output += typeof primitiveNumber + ' : ' + primitiveNumber + '\n'; output += typeof objectNumber + ' : ' + objectNumber; console.log(output); 자료형은 분명 다르지만 기본 자료형과 객체는 같은 속성과 메서드를 사용할 수 있다. (숫자를 기준으로 숫자 기본자료형과 Number객체 자료형 / 문자열 자료형과 Str..

문서객체 스타일조작, 제거 removeChild( ), parentNode, appendChild( ), childNode

문서객체의 Style속성을 사용하면 해당 문서객체의 스타일을 변경할 수 있다. Header 코드에서 보는바와 같이 header 문서객체에 .마침표를 통해style속성에 접근 후 다시 .마침표를 통해 변경할 css속성을 입력하여 변경할 값을 입력한다. 이때 주의할 점은 스타일시트에서 사용하던 스타일 속성 이름을 그대로 입력하면 안된다. background-color 의 형태와 같이 특수기호 " - " 는 자바스크립트에서 식별자로 사용할 수 없으므로 다음과같이 입력하면 에러를 출력한다 header.style.background-color = 'red'; 따라서 " - " 로 연결된 속성은 다음과같이 특수기호에 의해 끊겨진 단어를 기준으로 이어오는 단어의 첫글자를 대문자로 작성한다. header.style.b..

문서객체 가져오기 getElementBy (Id, Name,TagName, class) / querySelector

웹 페이지에서 이미 존재하는 HTML 태그를 자바스크립트로 가져오는 방법에는 다음과 같은 메서드를 통해 가져온다. getElementById(id) : 태그의 id속성이 id와 일치하는 문서 객체를 가져온다. getElementsByName(name) : 태그의 name속성이 name과 일치하는 문서의 객체를 배열로 가져온다. getElementsByTagName(tagName) : tagName과 일치하는 문서 객체를 배열로 가져온다. getElementById(id) Header Header 위와 같이 구성된 body태그에서 id속성을 갖는 태그만 가져온다. window.onload = function() { var header1 = document.getElementById('header-1'); ..

문서 객체 만들기 (DOM) createElement , createTextNode , appendChild, setAttribute , getAttribute , innerHTML, textContent속성

createElement , createTextNode , appendChild, setAttribute , getAttribute 문서 객체는 가장 기본적으로 텍스트 노드를갖는 문서 객체와 텍스트 노드를 갖지 않는 문서 객체로 구분할 수 있다. 다음은 텍스트 노드를 갖는 h1태그를 생성하면서 문서 객체를 생성하는 방법을 보여준다. body 태그에는 내용이 없기때문에 아무것도 출력하지 않는다. 텍스트 노드를 갖는 문서 객체를 생성하기 위해서는 요소 노드와 텍스트노드를 생성하고, 텍스트 노드를 요소 노드에 붙여준다. 노드를 생성하는 메서드이다. createElement(tagName) : 요소 노드를 생성한다. createTextNode(text) : 텍스트 노드를 생성한다. window.onload = ..

문서객체 DOM (Document Object Model)

문서객체 DOM (Document Object Model) 문서 객체 모델은 넓은 의미로 웹 브라우저가 HTML 페이지를 인식하는 방식이고, 좁은 의미로는 document 객체와 관련된 객체의 집합이다. 문서 객체 모델을 사용하면 HTML 페이지에 태그를 추가, 수정, 제거할 수 있다. 자주 사용되는 용어로는 문서객체, 태그, 노드가 있다. 태그 HEADER 위와같이 HTML페이지에 존재하는 이나 를 태그 라고 부른다. 이 태그를 자바스크립트에서 이용할 수 있는 객체로 만들면 그것이 '문서객체' 가 된다. 문서객체 window.onload = function () { // 함수 호출시 실행할 내용 } 우선 문서객체를 다루기 위해서는 이전 포스팅에서 다뤘던 window객체의 onload 이벤트 핸들러를 사..

window객체와 이벤트 (BOM/DOM) window.onload

브라우저 객체 모델 BOM, Browser Object Model은 웹 브라우저와 관련된 객체의 집합을 의미한다. 대표적인 브라우저 객체 모델로는 Window, Location, Navigator, history, screen, document 객체가 있다. window 객체 ┌────────┬────────┼────────┬────────┐ location 객체 navigator 객체 history 객체 screen 객체 document 객체 └────────────┬────────────┘ │ 브라우저 객체 문서 객체 BOM(Browser Object Model) DOM(Document Object Model) 간단하게 문서 객체 모델 DOM, Document Object Model 이라 통합해서 부..

함수를 리턴하는 함수 , 클로저

함수를 리턴하는 함수 지난 포스팅에서 함수를 매개변수로 전달하는 콜백함수에 대해 살펴보았다. 함수를 매개변수로 전달할 수 있다는 것은 함수를 리턴하는 함수도 만들수 있지 않을까 function retufnFunction() { return function() { alert("Hello Function"); } } returnFunction()(); retufnFunction() 함수를 호출하면 함수가 리턴되기 때문에 괄호를 한 번 더 사용하여 리턴되는 함수를 한번 더 호출한다. 다음과 같이 자기 호출 함수 형태로 바꿀수 있다. (function() { alert("Hello Function"); }) (); function returnFunction() { return (function() { alert..

내부함수와 자기 호출 함수, 콜백함수

내부함수 내부함수는 프로그램의 규모가 커질수록 다른사람과 함께 프로그램을 개발하게 되는데 이때 발생하는 여러가지 충돌을 막기위한 방법중 하나이다. 다음과 같은 형태로 구현한다. function 외부함수 () { function 내부함수1() { //함수 코드 } function 내부함수2() { //함수 코드 } //함수 코드 } 피타고라스를 정리하는 함수 pythagoras()를 만들어 내부함수를 구현해본다. function pythagoras(width,height) { return Math.sqrt(width*width + height*height); } 숫자를 제곱하는 부분은 피타고라스에서 자주 사용되는 내용이므로 별도의 square()함수로 구현한다. function square(x) { ret..

함수의 매개변수와 리턴값 , 가변인자 함수

매개변수와 리턴값 매개변수와 리턴값을 갖는 함수는 다음과 같이 정의한다. function 함수이름 (매개변수1, 매개변수2, 매개변수3, ...) { return 리턴값; } 함수를 호출할 때 (소괄호)안에 값이나 변수등의 인자값을 주입하는것을 매개변수라고 한다. 함수를 선언할 때 사용할 매개변수를 ,쉼표와 함께 (소괄호) 안에 지정해준다. 어떤식으로 활용하는지 다음과같이 구현해본다. function f(x) { return x * x ; } alert(f(3)); 호출되는 f(x) 함수의 매개변수는 x이고 return 내용은 인자값으로 받은 매개변수를 서로 곱하는 식이다. 따라서 매개변수 x에 정수값 3을 담아 호출한다면 3*3 = 9의 값을 반환한다. 함수를 호출하는 쪽과 정의된 함수를 연결하는 매개..

함수 function 정의와 호출순서 (익명 함수 / 선언적 함수)

함수 함수는 코드의 집합을 나타내는 자료형으로 크게 익명함수와 선언적 함수로 나뉜다. 코드의 집합이라는 의미는 {중괄호} 내부에 코드를 선언한다는 뜻이다. 함수가 호출되면 {중괄호} 내부에 선언된 코드 내용을 실행시킨다. 익명 함수 var 함수 = function() { }; 선언적 함수 function 함수 () { }; 익명 함수는 변수를 선언하고 선언된 변수에 저장하여 사용된다. 선언적 함수는 변수에 저장하지 않고 이름을 부여하여 사용된다. 함수호출 자바스크립트에서 함수는 하나의 자료형이지만 다른 자료형과 다르게 (괄호)를 열고 닫음으로써 코드를 실행한다. 이렇게 함수를 실행하는 것을 함수를 호출한다 라고 표현한다. 함수(); 익명 함수를 호출할 때에는 함수가 저장된 변수의 변수명(); 과 같이 호..

node.js로 구현한 jqGrid 코드

jqGrid HTML + 스크립트 코드 node.js 스크립트 코드 //모듈 추출 var http = require('http'); var express = require('express'); //express모듈 : http모듈처럼 사용할 수 있지만 훨씬 더 많은 기능이 있는 외부모듈이다. //http에 http모듈을 추출하여 저장한다. express에 express모듈을 추출하여 저장한다. var bodyParser = require('body-parser') var _ = require('underscore'); var array = []; for(var i = 0; i < 10; i++){ array[i] = { id : i, value : i * i }; } var output = _.filte..

w2ui 플러그인을 활용한 그리드 그리기 -3 (추가, 수정, 삭제)

w2ui 플러그인을 활용한 그리드 그리기 3번째 포스팅이다. 그리드에서 데이터를 추가 수정 삭제할 때 각각 필요한 메서드가 있다. add(record) : 데이터를 추가한다. getChanged() : 변경사항을 확인한다. getSelection() : 선택하고 있는 데이터를 확인한다. [추가] - add( ) 위 세개의 메서드는 2번째 포스팅에서 다뤘던 이벤트 리스너를 통해 이벤트가 발생했을때 작동할 수 있도록 구현한다. 추가시에는 onAdd리스너를 통해 구현한다. , onAdd: function(target, eventData){ this.add({ recid: this.total + 1 , name: '[입력]' , author: '[입력]' , publisher: '[입력]' , price: '[..