JavaScript 문서 원본 보기
←
JavaScript
둘러보기로 가기
검색하러 가기
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
이 문서는 편집하거나 다른 명령을 할 수 없도록 보호되어 있습니다.
문서의 원본을 보거나 복사할 수 있습니다.
JavaScript에 대한 기본적인 사항을 정리한다. ==프로그램 문법== ===주석=== *주석 // 한줄 짜리 주석 /* 여러줄 짜리 주석 */ ===기본 구문=== *var : 변수 선언 var 변수 = 변수값; *delete : 변수 삭제 delete 변수; *typeof : 데이터의 type을 문자열로 반환 :*Object.prototype.toString.call(변수)를 사용하여 상세한 데이터 타입 구분 가능 typeof 변수 typeof(변수) :*string : string 형 :*number : number 형, NaN :*boolean : boolean형 :*object : Object(), Array(), null :*function : Function() :*undefined : 값이 지정되지 않는 변수, undefined *instanceof : obj가 class의 인스턴스인 경우 true를 반환 obj instanceof class *with with(obj) { //--- obj.name 이라는 변수를 여기서는 name 이라는 변수명으로 참조 } *if문 if (조건문) { } else if (조건문) { } else { } *in : data에 item이 포함되어 있으면 true를 반환 item in data *? : 삼항 연산자 :*조건문이 true이면 참값이 false이면 거짓값이 실행 또는 반환됨 (조건문) ? 참값 : 거짓값 var 변수 = (조건문) ? 참값 : 거짓값 *switch문 switch (변수) { case 값1: break; default: break; } *for문 for (var idx = 0; idx < length; idx++) { //--- continue, break } for (var item in data) { //--- item, data[item] } *while문 while (조건문) { //--- continue, break } *do while문 do { //--- continue, break } while (조건문); *기타 유용한 구문 //--- aa가 true인 값을 가지면 aa를 저장하고, 그렇지 않으면 bb를 저장 var 변수 = aa || bb //--- aa()가 true인 값을 반환하면 aa()만 실행하고, 그렇지 않으면 bb()도 실행 aa() || bb() //--- aa()가 false인 값을 반환하면 bb()도 실행하고, 그렇지 않으면 aa()만 실행 aa() && bb() //--- 변수를 boolean형으로 형변환 !!변수 ===오류 처리=== *오류 수집 try { } catch(ex) { } finally { } *사용자 정의 Exception function MyException(str) { this.str = str } throw New MyException("~"); ===소스 보기=== *view-source:http://~ ==ECMAScript Built-In Library== *기본형 :*string : 문자형 :*number : 숫자형 :*boolean : 논리형 ::*0, 빈 문자열 (""), 수가 아님을 뜻하는 NaN, null, undefined는 모두 false임 *내장 상수 및 변수 :*undefined : null, 변수의 초기값이 없음 :*NaN : 0, 숫자가 아님 :*Infinity : 0, 무한한 값 *예약어 :*null : 값이 없음 :*undefined : 값이 정의되지 않음 :*this ::*일반 함수 호출 : this는 전역 객체 (Global)를 참조 :::*브라우저에서 전역 객체는 window 임 ::*객체의 함수 호출 : this는 해당 객체를 참조 ::*생성자 : this는 새로 생성되는 객체를 참조 ::*call(), apply(), bind() : this는 첫번째 인자를 참조 func.call(obj, arg1, arg2); //--- this는 obj를 지정함, obj.func(arg1, arg2) func.apply(obj, [arg1, arg2]); //--- this는 obj를 지정함, obj.func(arg1, arg2) bind(obj, arg1, arg2); //--- 향후 함수 호출시, this는 obj를 지정함 ::*Event Handler : this는 이벤트가 발생한 Element를 참조 ::*Scope :::*var로 변수 선언시 외부에서 참조 불가 :::*this.변수 형태로 변수 선언시 외부에서 참조 가능 (public 접근 제어자 역할) *예약어 문법 :*JavaScript 문법 체크를 상세하게 처리 'use strict'; :*debugger : JavaScript Console을 띄워 놓았을 경우, debugger가 기술된 라인부터 debuging 시작 ::*F10 : 라인 단위로 실행 ::*F11 : 함수 호출이 있는 경우, 해당 함수를 라인 단위로 실행 ::*Shift_F11 : 함수를 호출한 라인으로 돌아가서 실행 ::*F8 : 다음 breakpoint까지 실행 ~ debugger //--- 이 라인부터 debugging을 시작 합니다. ~ *내장 함수 :*eval(string) : 문자열을 JavaScript 코드로서 실행 :*parseInt(string,radix) : 문자열을 숫자(정수)로 변환 ::*문자열이 0으로 시작하면 8진수로 처리 ::*문자열이 0x로 시작하면 16진수로 처리 :*parseFloat(string) : 문자열을 숫자(실수)로 변환 ::*문자열이 123e3 이면 123 * 1000 = 123000 으로 처리 :*isNaN(number) : true. number가 NaN임 :*isFinite(number) : true. number가 유한한 값 :*escape(string) : 알파벳 숫자 @ * - _ + . / 외의 문자를 인코딩 (유니코드로 인코딩) ::*1바이트 문자 인코딩 : %XX ::*2바이트 문자 인코딩 : %uXXXX :*unescape(string) : escape()의 역함수 :*encodeURI(URI) : escape()에서 URI에 사용되는 문자(: ; / = ? &)는 인코딩하지 않음 (UTF-8로 인코딩) :*decodeURI(encodedURI) : encodeURI()의 역함수 :*encodeURIComponent(uriComponent) : 알파벳과 숫자를 제외한 모든 문자를 인코딩 (UTF-8로 인코딩) :*decodeURIComponent(uriComponent) : encodeURIComponent()의 역함수 :*UTF-8로 인코딩된 parameter을 서버(Java)에서 받는 방법 request.setCharacterEncoding("utf-8"); String name = request.getParameter("name"); ===내장 객체=== :*Object() :*String() instanceof Object() :*Number() instanceof Object() :*Boolean() instanceof Object() ::*false 인 값 : 0, NaN, '', null, undefined Boolean(obj) //--- obj를 Boolean 형으로 변환 !!obj //--- obj를 Boolean 형으로 변환 :*Array() instanceof Object() :*Function() instanceof Object() arguments //--- 전달받은 인자의 배열 func.call(obj, arg1, arg2); //--- this는 obj를 지정함, obj.func(arg1, arg2) 실행 func.apply(obj, [arg1, arg2]); //--- this는 obj를 지정함, obj.func(arg1, arg2) 실행 bind(obj, arg1, arg2); //--- 향후 함수 호출시, this는 obj를 지정함 :*Date() instanceof Object() :*Math() instanceof Object() :*RegExp() instanceof Object() :*Error(message) instanceof Object() ::*EvalError() instanceof Error('') ::*RangeError() instanceof Error('') ::*ReferenceError() instanceof Error('') ::*SyntaxError() instanceof Error('') ::*TypeError() instanceof Error('') ::*URIError() instanceof Error('') ===Object=== *Object : 모든 변수의 기본이 되는 Class :*생성자 : {}, new Object(), Object.consturct() :*hasOwnProperty(name) :*isPrototypeOf(obj) :*propertyIsEnumerable(name) :*toLocaleString(), toString() :*valueOf() var remote = new Object(); Object.constructor : 생성자 Object.prototype (객체의 properties) this { name:"value" }, varname["name"], varname.name ===String=== *String : [[JavaScript#Object|Object]]의 인스턴스 :*생성자 : '', new String() :*length :*fromCharCode(charCode) :*charAt(position) :*charCodeAt(position) : code = charCodeAt(int); :*concat(value) :*indexOf(searchString, startPosition) :*lastIndexOf(searchString, startPosition) :*localeCompare(str) :*match(regexp) :*replace(regexp, replaceValue) :*search(regexp) :*slice(start, end) :*split(separator, limit) :*substring(start, end) : substring(a = 0, 1, ..., b = 자를 길이) :*toLocaleLowerCase(), toLowerCase() :*toLocaleUpperCase(), toUpperCase() CharAt(num) sVal = String.substring(iStart,iEnd); sVal = String.substr(iStart,iLength); ===Number=== *Number : [[JavaScript#Object|Object]]의 인스턴스 :*생성자 : new Number() :*MIN_VALUE, MAX_VALUE :*NEGATIVE_INFINITY, POSITIVE_INFINITY :*NaN :*toExponential(fractionDigits) :*toFixed(fractionDigits) :*toPrecision(fractionDigits) ===Boolean=== *Boolean : [[JavaScript#Object|Object]]의 인스턴스 :*생성자 : new Boolean() ===Array=== *Array : [[JavaScript#Object|Object]]의 인스턴스 :*생성자 : [], new Array() :*length :*concat(args) :*join(seperator) :*pop() :*push(args) :*reverse() :*shift() :*slice(start, end) :*sort(func) : sort(비교함수(a, b)); return a - b; :*splice(start, deletecount, items) :*unshift(start) var theArray = new Array(7), new Array(); var theArray = new Array("a", "b", "c"); array.length theArray.a, theArray["a"] theArray.push("aaa"); theArray.join(delimiter), reverse(), [ "value" ], varname[0] ===Function=== *Function : [[JavaScript#Object|Object]]의 인스턴스 :*생성자 : new Function(), function() { } :*length :*apply(thisObject, argArray) :*call(thisObject, args) function makeArray(n) { this.length = n; var args = makeArray.arguments; args[0], args.length return this; } ===Date=== *Date : [[JavaScript#Object|Object]]의 인스턴스 :*생성자 : new Date(s) :*parse(string) :*UTC(hour, min, sec, ms) :*getDate(), getFullYear(), getMonth(), getDay(), getTimeZoneOffset() :*getTime(), getHours(), getMinutes(), getSeconds(), getMilliseconds(), :*setDate(date), setFullYear(year, month, date), setMonth(month, date) :*setTime(value), setHours(hour, min, sec, ms), setMinutes(min, sec, ms), setSeconds(sec, ms), setMilliseconds(value) :*getUTCDate(), getUTCFullYear(), getUTCMonth(), getUTCDay() :*getUTCHours(), getUTCMinutes(), getUTCSeconds(), getUTCMilliseconds() :*setUTCDate(date), setUTCFullYear(year, month, date), setUTCMonth(month, date) :*setUTCHours(hour, min, sec, ms), setUTCMinute(min, sec, ms), setUTCSeconds(sec, ms), setUTCMillseconds(ms) :*toDateString(), toLocaleDateString(), toLocaleString() :*toTimeString(), toLocaleTimeString() :*toUTCString() :*valueOf() var theDate = new Date(), date(yy, mm, dd); theDate.getYear() + 1900, getMonth() + 1, getDate() + 1, getDay(); theDate.setYear(), setMonth(), setDate(), setDay(); getFullYear(); var today = new Date(); var strToday = today.getYear() + "." + (today.getMonth() + 1) + "." + today.getDate(); ===Math=== *Math : [[JavaScript#Object|Object]]의 인스턴스 :*생성자 : new Math() :*E, LN2, LN10, LOG2E, LOG10E, PI, SQRT2, SQRT1_2 :*ceil(x) : 올림, floor(x) : 내림, round(x) : 반올림 :*abs(x) : 절대값 :*random() : 0 < random() < 1 :*min(args), max(args) :*log(x) :*exp(x), pow(x, y), sqrt(x) :*sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(x, y) abs(~), max(~, ~), min(~, ~) ===RegExp=== *[[RegExp]] : [[JavaScript#Object|Object]]의 인스턴스 :*생성자 : RegExp, /~/ :*source, global, ignoreCase, lastIndex, multiline :*exec(string) :*test(string) ===Error=== *Error : [[JavaScript#Object|Object]]의 인스턴스 :*생성자 : new Error(message) :*name, message *Error(message) instanceof Object() :*EvalError() instanceof Error('') :*RangeError() instanceof Error('') :*ReferenceError() instanceof Error('') :*SyntaxError() instanceof Error('') :*TypeError() instanceof Error('') :*URIError() instanceof Error('') ==ECMA 3 Browser Support Library== *start(index) *end(index) *Event instanceof Object *EventListener instanceof Object *EventTarget instanceof Object :*Window instanceof EventTarget :*Node instanceof EventTarget ::*CharacterData instanceof Node :::*Text ::::*CDATASection :::*Comment ::*ProcessingInstruction instanceof Node ::*Notation instanceof Node ::*Document instanceof Node :::*HTMLDocument ::*DocumentFragment instanceof Node ::*DocumentType instanceof Node ::*Entity instanceof Node ::*EntityReference instanceof Node ::*Attr instanceof Node ::*Element instanceof Node :::*HTMLElement instance Element ::::*HTMLAnchorElement ::::*HTMLAppletElement ::::*HTMLAreaElement ::::*HTMLAudioElement ::::*HTMLBaseElement ::::*HTMLBaseFontElement ::::*HTMLBodyElement ::::*HTMLBRElement ::::*HTMLButtonElement ::::*HTMLDirectoryElement ::::*HTMLDivElement ::::*HTMLDListElement ::::*HTMLFieldSetElement ::::*HTMLFontElement ::::*HTMLFormElement ::::*HTMLFrameElement ::::*HTMLFrameSetElement ::::*HTMLHeadElement ::::*HTMLHeadingElement ::::*HTMLHRElement ::::*HTMLHtmlElement ::::*HTMLIFrameElement ::::*HTMLImageElement :::::*Image ::::*HTMLInputElement ::::*HTMLIsIndexElement ::::*HTMLLabelElement ::::*HTMLLegendElement ::::*HTMLLIElement ::::*HTMLLinkElement ::::*HTMLMapElement ::::*HTMLMediaElement ::::*HTMLMenuElement ::::*HTMLMetaElement ::::*HTMLModElement ::::*HTMLObjectElement ::::*HTMLOListElement ::::*HTMLOptGroupElement ::::*HTMLOptionElement ::::::*Option ::::*HTMLParagraphElement ::::*HTMLParamElement ::::*HTMLPreElement ::::*HTMLQuoteElement ::::*HTMLScriptElement ::::*HTMLSelectElement ::::*HTMLStyleElement ::::*HTMLTableCaptionElement ::::*HTMLTableCellElement ::::*HTMLTableColElement ::::*HTMLTableElement ::::*HTMLTableRowElement ::::*HTMLTableSelectionElement ::::*HTMLTextAreaElement ::::*HTMLTitleElement ::::*HTMLUListElement ::::*HTMLVideoElement *NodeList instanceof Object *HTMLCollection instanceof Object *HTMLOptionsCollection instanceof Object *BarProp instanceof Array *Coordinates instanceof Object *CSS2Properties instanceof Object *DOMException instanceof Object *DOMImplementation instanceof Object *Geolocation instanceof Object *History instanceof Object *Location instanceof Object *MediaError instanceof Object *NamedNodeMap instanceof Object *Navigator instanceof Object *Position instanceof Object *PositionError instanceof Object *PositionOptions instanceof Object *Screen instanceof Object *Storage instanceof Object *TimeRanges instanceof Object *WebSocket instanceof Object *XMLHTTPRequest instanceof Object ===Event=== *Event :*CAPTURING_PHASE, AT_TARGET, BUBBLING_PHASE :*type, target, currentTarget :*eventPhase, bubbles, cancelable, timeStamp, stopPropagation, preventDefault :*initEvent(eventTypeArg, canBubbleArg, cancelableArg) :*preventDefault() :*stopPropagation() *EventListener :*생성자 : new EventListener() :*handleEvent(event) *EventTarget :*생성자 : new EventTarget() :*dispatchEvent(event) :*addEventListener(type, listener, useCapture) :*removeEventListener(type, listener, useCapture) ===Node=== *Node instanceof [[JavaScript#Event|EventTarget]] :*ELEMENT_NODE : 1, ATTRIBUTE_NODE, TEXT_NODE, CDATA_SECTION_NODE, ENTITY_REFERENCE_NODE :*ENTITY_NODE, PROCESSING_INSTRUCTION_NODE, COMMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE :*DOCUMENT_FRAGMENT_NODE, NOTATION_NODE :*ownerDocument : HTMLDocument() :*nodeName, nodeValue, nodeType :*parentNode, childNodes, firstChild, lastChild :*previousSibling, nextSibling :*attributes : NamedNodeMap() :*namespaceURI, prefix, localName :*생성자 : new Node() :*cloneNode(deep) :*appendChild(newChild) :*insertBefore(newChild, refChild) :*replaceChild(newChild, oldChild) :*removeChild(oldChild) :*hasChildNodes() :*hasAttributes() :*isSupported(feature, version) :*normalize() *NamedNodeMap :*생성자 : new NamedNodeMap() :*length :*getNamedItem(name), getNamedItemNS(namespaceURI, localName) :*item(index) :*removeNamedItem(name), removeNamedItemNS(namespaceURI, localName) :*setNamedItem(arg), setNamedItemNS(arg) ===Document=== *Document :*defaultView, doctype :*styleSheets :*implementation : DOMImplementation() :*documentElement : HTMLElement() :*생성자 : new Document() :*createAttribute(name), createAttributeNS(namespaceURI, qualifiedName) :*createCDATASection(data) :*createComment(data) :*createDocumentFragment() :*createElement(tagName), createElementNS(namespaceURI, qualifiedName) :*createEntityReference(name) :*createEvent(eventType) :*createProcessingInstruction(target, data) :*createTextNode(data) :*getElementById(elementId) :*getElementsByTagName(tarname), getElementsByTagNameNS(namespaceURI, localName) :*importNode(importedNode, deep) :*querySelector(selectors), querySelectorAll(selectors) *HTMLDocument :*title, referrer, domain, URL :*cookie, lastModified :*body : HTMLElement() :*images, applets, links, forms, anchors : HTMLCollection() :*생성자 : new HTMLDocument() :*open(), close() :*getElementsByName(elementName) :*write(text), writeln(text) ===Element=== ===HTMLElement=== ==입출력== ===브라우저 입출력=== ===Cookie 입출력=== ==객체 생성 방법== *함수를 사용하여 객체 생성 var aa = "global aa"; var ab = "global ab"; var ac = "global ac"; var child = null; var Parent1 = function() { var aa = 'aa'; //--- 외부에서 참조 불가 this.aa1 = function() { return aa; }; this.aa2 = function() { return this.aa; }; this.ab = 'ab'; //--- 외부에서 참조 가능 this.ab1 = function() { return ab; }; this.ab2 = function() { return this.ab; }; }; Parent1.prototype = { aa3: function() { return aa; }, aa4: function() { return this.aa; }, ab3: function() { return ab; }, ab4: function() { return this.ab; }, ac: 'ac' , //--- this.ac처럼 외부에서 참조 가능 ac1: function() { return ac; }, ac2: function() { return this.ac; }, }; child = new Parent1(); console.log("aa : " + child.aa); //--- undefined console.log("aa1() : " + child.aa1()); //--- aa console.log("aa2() : " + child.aa2()); //--- undefined (this는 child 참조) console.log("aa3() : " + child.aa3()); //--- Exception : undefined exception (Global 참조) console.log("aa4() : " + child.aa4()); //--- undefined (this는 child 참조) console.log("ab : " + child.ab); //--- ab console.log("ab1() : " + child.ab1()); //--- Exception : undefined exception (Global 참조) console.log("ab2() : " + child.ab2()); //--- ab console.log("ab3() : " + child.ab3()); //--- Exception : undefined exception (Global 참조) console.log("ab4() : " + child.ab4()); //--- ab console.log("ac : " + child.ac); //--- ac console.log("ac1() : " + child.ac1()); //--- Exception : undefined exception (Global 참조) console.log("ac2() : " + child.ac2()); //--- ac *Object를 사용하여 객체 생성 :*prototyp을 사용한 상속 기능이 동작하지 않으므로 상속을 위한 객체 생성용으로는 부적합 var Parent2 = { aa: 'ba', //--- this.ba처럼 외부에서 참조 가능 aa1: function() { return aa; }, aa2: function() { return this.aa; }, ab: 'bb' , ab1: function() { return ab; }, //--- Exception : Unexpected identifier ab2: function() { return this.ab; } }; Parent2.prototype = { //--- Object.create()시 전혀 사용되지 않음 aa3: function() { return aa; }, aa4: function() { return this.aa; }, ab3: function() { return ab; }, ab4: function() { return this.ab; }, ac: 'bc' , ac1: function() { return ac; }, ac2: function() { return this.ac; } }; child = Object.create(Parent2); //--- __proto__만 자동으로 복사됨 console.log("aa : " + child.aa); //--- ba console.log("aa1() : " + child.aa1()); //--- Exception : undefined exception (Global 참조) console.log("aa2() : " + child.aa2()); //--- ba //console.log("aa3() : " + child.aa3()); //--- Exception : undefined is not a function //console.log("aa4() : " + child.aa4()); //--- Exception : undefined is not a function console.log("ab : " + child.ab); //--- bb console.log("ab1() : " + child.ab1()); //--- Exception : undefined exception (Global 참조) console.log("ab2() : " + child.ab2()); //--- bb //console.log("ab3() : " + child.ab3()); //--- Exception : undefined is not a function //console.log("ab4() : " + child.ab4()); //--- Exception : undefined is not a function console.log("ac : " + child.ac); //--- undefined //console.log("ac1() : " + child.ac1()); //--- Exception : undefined is not a function //console.log("ac2() : " + child.ac2()); //--- Exception : undefined is not a function ==유용한 라이브러리== ===JSON을 String으로 변환=== function JSONtoString(arg) { var rtStr = ""; var flagStart = true; if (typeof(arg) == "object"){ if (typeof(arg.length) == "number") { rtStr = "["; for (name in arg) { if (flagStart) { flagStart = false; } else { rtStr = rtStr + "," } rtStr = rtStr + JSONtoString(arg[name]); } rtStr = rtStr + "]"; } else { rtStr = "{"; for (name in arg) { if (flagStart) { flagStart = false; } else { rtStr = rtStr + "," } rtStr = rtStr + '"' + name + '":'; rtStr = rtStr + JSONtoString(arg[name]); } rtStr = rtStr + "}"; } } else { return '"' + arg + '"'; } return rtStr; } ==데이터 모델== ===InnerHTML Model=== *참고 문헌 : [http://webfx.nu/dhtml/ieemu/htmlmodel.html http://webfx.nu/dhtml/ieemu/htmlmodel.html] *this.'''innerHTML''' = str; *this.'''innerText''' = str; *this.outerHTML = str; *this.outerText = str; *this.insertAdjacentHTML(,); :*this.insertAdjacentHTML("beforebegin", str); :*this.insertAdjacentHTML("afterbegin", str); :*this.insertAdjacentHTML("beforeend", str); :*this.insertAdjacentHTML("afterend", str); *insertAdjacentText(,); :*this.insertAdjacentText("beforebegin", str); :*this.insertAdjacentText("afterbegin", str); :*this.insertAdjacentText("beforeend", str); :*this.insertAdjacentText("afterend", str); ===Element Model=== *참고 문헌 : [http://webfx.nu/dhtml/ieemu/elementmodel.html http://webfx.nu/dhtml/ieemu/elementmodel.html] *this.parentElement; *this.children; *this.contains(node); *bodyElement = document.getChildNodes().item(0).getChildNodes().item(1); *bodyElement = document.getFirstChild().getFirstChild().getNextSibling(); *typeInt = bodyElement.getNodeType() *elementName = bodyElement.getNodeName(); *elementContent = bodyElement.getFirstChild().getNodeValue(); *var td = xCreateElement("td"); *linkText = document.createTextNode("edit"); *tr.appendChild(td); *oldNode = theDiv.firstChild.nextSibling.nextSibling; *theDiv.removeChild(oldNode); *newNode = document.createTextNode(newText); *theDiv.appendChild(newNode); *theDiv.replaceChild(newNode, oldNode); *theDiv.firstChild.nextSibling.nextSibling.nodeValue=newText; ===Document All Model=== *참고 문헌 : [http://webfx.nu/dhtml/ieemu/allmodel.html http://webfx.nu/dhtml/ieemu/allmodel.html] *window.document.all["idVal"] *'''window.document.all.idVal''' *var tagH2 = window.document.all.tags("H2"); *var tags = window.document.getElementsByTagName('input'); :tagH2[0, 1, 2 . . .] *this.getElementsByTagName("*"); *formElement = '''window.document.getElementById("noteForm")'''; ==JSDT== *http://jsdt.googlecode.com/svn/trunk/org.ayound.js.debug.update ==사용자 정의 라이브러리== ===getInt(argValue, argDefault)=== function getInt(argValue, argDefault) { if (arguments.length == 1) { return Math.round(getFloat(argValue, 0.0)); } else { return Math.round(getFloat(argValue, argDefault)); } } ===getFloat(argValue, argDefault)=== function getFloat(argValue, argDefault) { if (arguments.length == 1) { return getFloat(argValue, 0.0); } if (argValue) { if (typeof argValue === "number") { return argValue; } else { return parseFloat(argValue); } } else { return argDefault; } } ===funcGetProcMonth(argStart, argMonth)=== function funcGetProcMonth(argStart, argMonth) { var tmpDateStart = null, tmpDateCalc = null; tmpDateStart = new Date(argStart.getYear(), argStart.getMonth() + argMonth, 1); tmpDateCalc = new Date(argStart.getYear(), argStart.getMonth() + argMonth, argStart.getDate()); if (tmpDateStart.getMonth() == tmpDateCalc.getMonth()) { return tmpDateCalc; } else { return new Date(argStart.getYear(), argStart.getMonth() + argMonth + 1, 0); } } ===funcFormatInt(argInt)=== function funcFormatInt(argInt) { return funcFormatIntStr(argInt + ""); } function funcFormatIntStr(argIntStr) { if (argIntStr.length < 4) { return argIntStr; } else { return funcFormatIntStr(argIntStr.substr(0, argIntStr.length - 3)) + "," + argIntStr.substr(argIntStr.length - 3); } } ===Frame에서 화면 중앙 정열=== function getMarginLeft() { var widthScreen = window.document.body.clientWidth; if (widthScreen < 1000) { return 0; } else { return Math.round((widthScreen - 1000) / 2); } } // scrollWidth, clientWidth, offsetWidth function funcResize() { var leftMargine = getMarginLeft(); window.headerFrame.document.body.style.marginLeft = leftMargine + "px"; } window.onload = funcResize; window.onresize = funcResize; window.onload = function() { allFrame.cols = window.top.getMarginLeft() + ",200,*"; } window.onresize = function() { allFrame.cols = window.top.getMarginLeft() + ",200,*"; } <frameset cols="0,200,*" border="0" frameborder="0" framepadding="0" framespacing="0" marginwidth="0" marginheight="0" id="allFrame"> ==관련 자료== *[[HTML]] *[[HTML5]] *[[jQuery]] == 참고 문헌 == *[[WScript]] *[http://koxo.com/lang/js/ KoXo 자바스크립트 매뉴얼] *[http://user.chollian.net/~spacekan/ 이용석의 JavaScript & DHTML] *[[Media:HTMLREF CHM.zip|HtmlRef.chm]] *[http://eloquentjavascript.net/contents.html Eloquent JavaScript, 2010.7] *[http://opentutorials.org/course/787/5111 http://opentutorials.org/course/787/5111] [[Category:JavaScript|Category:JavaScript]]<br/>[[Category:기술 자료실|Category:기술_자료실]]<br/>[[Category:HTML5|Category:HTML5]]<br/>[[Category:프로그램 언어|Category:프로그램 언어]]
JavaScript
문서로 돌아갑니다.
둘러보기 메뉴
개인 도구
로그인
이름공간
문서
토론
변수
보기
읽기
원본 보기
역사 보기
더 보기
검색
주요 메뉴
오픈소스 컨설팅
오픈소스
오픈소스 라이선스
오픈소스 커뮤니티
오픈소스 종류
오픈소스 현황
오픈소스 한글화
문자셋과 인코딩
Storage
Network
보안
고가용성
모니터링
오픈 API
오픈 서비스
Cloud
BigData
Android
산사랑 노트
둘러보기
인기 문서
최근 수정 문서
모든 문서
모든 분류
임의 문서
위키 사용법
자매 사이트
CMS
오비컨 홈페이지
오비컨 CMS
블로그
데모 - SuiteCRM
산사랑의 Twitter
산사랑의 Facebook
친구 사이트
공개SW 포털
OLIS
한국공개소프트웨어협회
AppCenter 지원본부
OLC
PSEG
개발자 블로그
블로터
개인 메뉴
메뉴 수정
양식함
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보