ȸ¿ø°¡ÀԡžÆÀ̵ð/ºñ¹øã±â
ȨÀ¸·Î

ÀÚ¹Ù½ºÅ©¸³Æ® °¡À̵å
13³â Àü
JavaScript ½ÃÀÛ
<script type="text/javascript" defer="defer">
//<![CDATA[

// defer="defer" ¿É¼ÇÀ» ÁöÁ¤Çϸé, JavaScript¿¡¼­ ¹®¼­ ³»¿ëÀ» »ý¼ºÇÏÁö ¾Ê´Â´Ù´Â ÀǹÌÀ̸ç,
// ÀÌ ¶§¹®¿¡, ºê¶ó¿ìÁ®´Â ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ ·ÎµùÇϱâ Àü¿¡ ¸ÕÀú À¥ ÆäÀÌÁö¸¦ ¸ÕÀú ó¸®ÇÑ´Ù.
// ÀÌ ¿É¼ÇÀº IE¿¡¼­¸¸ ÀÛµ¿ÇÑ´Ù.(2008³â ÇöÀç)
//]]>
</script>
JavaScriptÀÇ À§Ä¡
<body> : ÆäÀÌÁö¸¦ ·ÎµåÇÒ ¶§ µ¿ÀûÀ¸·Î À¥ÆäÀÌÁöÀÇ ÄÁÅÙÆ®¸¦ »ý¼ºÇÏ´Â °æ¿ì
<head> : ÇÔ¼ö ¾È¿¡¼­ Á¤ÀÇÇÏ°í page À̺¥Æ®¿¡ »ç¿ëµÇ´Â ÀÚ¹Ù½ºÅ©¸³Æ® ÄÚµå, body űװ¡ ÀÐÈ÷±â Àü¿¡ ¹Ì¸® ÀÐÈ÷°Ô µÈ´Ù.
JavaScript ¼±¾ð½Ã HTML ÁÖ¼® <!-- -->À¸·Î °¨½ÎÁö ¸»°Í. XHTML ±ÔÄ¢¿¡ ¾î±ß³­´Ù.


var Å°¿öµå¿Í ¿µ¿ª(scope)
ÇÔ¼ö ³»¿¡¼­ var Å°¿öµå·Î º¯¼ö¸¦ ¼±¾ðÇϸé ÇÔ¼ö³» ¿µ¿ª¿¡ Á¾¼ÓµÈ´Ù.
ÇÔ¼ö ³»¿¡¼­ var Å°¿öµå ¾øÀÌ º¯¼ö¸¦ ¼±¾ðÇϸé Àü¿ª ¿µ¿ª¿¡ Á¾¼ÓµÈ´Ù.
ÇÔ¼ö ¹Û Àü¿ª ¿µ¿ª¿¡¼­´Â var Å°¿öµå »ç¿ë À¯¹«¿¡ °ü°è ¾øÀÌ ¹«Á¶°Ç Àü¿ª ¿µ¿ª¿¡ Á¾¼ÓµÈ´Ù.
undefined : º¯¼ö¸¦ ¼±¾ðÇØ ³õ°í¼­, °ªÀ» ÁöÁ¤ÇÏÁö ¾ÊÀº »óÅÂ.


ÁÁÀº ÄÚµù ½À°ü
ÇÔ¼ö ¾ÈÀÇ º¯¼ö´Â Ç×»ó "var"·Î ¼±¾ðÇ϶ó.
ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ À¯¹«¿Í °ü°è¾øÀÌ ½ÎÀÌÆ®ÀÇ Á¤º¸¸¦ ¸ðµÎ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Ç϶ó(JavaScript¸¦ ²ô°í ÄÚµùÇϱâ).
JavaScript Á¢±Ù¼º Æ©Å丮¾ó(¿µ¹®)
noscript : JavaScript°¡ ÀÛµ¿¾ÈÇϸé Ãâ·ÂµÇ´Â Á¤ÀûÀÎ Äڵ带 <noscript>ÅÂ±× ¾È¿¡ ³Ö´Â´Ù. JavaScript°¡ ÀÛµ¿ÇÒ °æ¿ì¿¡´Â ¹«½ÃµÈ´Ù.
Mozilla JavaScrip Style Guide
&&, || ¿¬»ê½Ã CPU¸¦ ´õ Àû°Ô »ç¿ëÇÏ´Â ½ÄÀ» ¿ÞÆí¿¡ µÎ¸é È¿À²¼ºÀÌ ³ô¾ÆÁø´Ù.
ÀζóÀÎ À̺¥Æ® µî·Ï ¹æ½ÄÀº µÇµµ·Ï ÇÇÇÏ°í, Javascript¸¦ ÀÌ¿ëÇÑ ±âº» À̺¥Æ® µî·Ï ¹æ½ÄÀ» »ç¿ëÇ϶ó. (object.onevent=func)


Çü(Type)
object.toString()
object.toBoolean() : "",¼ýÀÚ 0, NaN, Null, Undefined ÀÏ°æ¿ì¿¡´Â false ³ª¸ÓÁö´Â ¸ðµÎ true
parseInt(string)
parseFloat(string)
Number(string)
isNaN(º¯¼ö) : º¯¼ö°¡ ¼ýÀÚ°¡ ¾Æ´Ï¸é true
const CURRENT_MONTH = 3.4;  // CURRENT_MONTH ´Â »ó¼ö°¡ µÇ¾ú´Ù.
Á¤¼ö/Á¤¼öÀÇ °á°ú°¡ ½Ç¼ö°¡ µÉ¼öµµ ÀÖ´Ù. 3/2 == 1.5


¿¬»êÀÚ
"3.0" == 3.0 : true - µ¿µî ¿¬»êÀÚ, ==, !=
"3.0" === 3.0 : false - ÀÏÄ¡¿¬»êÀÚ, ===, !==


±¸¹®
for (varName in ¿¬°ü¹è¿­) { statements...; }
if (value in [¿¬°ü¹è¿­|¹è¿­|°´Ã¼])


³»Àå Ŭ·¡½º
Number Ŭ·¡½º
String Ŭ·¡½º : ¹®ÀÚ¿­("...")Àº ÀÚµ¿À¸·Î String °´Ã¼·Î º¯È¯µÈ´Ù.
Date Ŭ·¡½º : ³¯Â¥ ¿¬»ê.

Date.now : ÇöÀç ½Ã°¢
Date.parse : Unix Time millisecond
À¥ »ç¿ëÀÚ¿¡°Ô º¸¿©ÁÙ ½Ã°£Àº Local ½Ã°£À», ±¹Á¦ÀûÀ¸·Î ½Ã°£ ºñ±³°¡ ÇÊ¿äÇÒ ¶§´Â UTC »ç¿ë.
Math Ŭ·¡½º : ´ëºÎºÐ Á¤Àû ÇÁ¶óÆÛƼ, Á¤Àû ¸Þ¼Òµå

Math.random() : 0~1 »çÀÌÀÇ ³­¼ö
Array ¹è¿­

array.slice(2,4) : ÁöÁ¤ ¹üÀ§¸¦ ¹è¿­·Î ¹Ýȯ
array.concat(¹è¿­) : ¹è¿­ ¿¬°á
array.join("±¸ºÐÀÚ") : ¹è¿­ÀÇ °ªµéÀ» "±¸ºÐÀÚ"·Î ¿¬°áÇÑ ÇϳªÀÇ ¹®ÀÚ¿­·Î º¯È¯
Äݹé ÇÔ¼ö°ü·Ã ¸Þ¼Òµåµé : ÀÌ ¸Þ¼ÒµåµéÀº FireFox 1.5 À̻󿡼­¸¸ Áö¿øµÈ´Ù. IE 7 ÀÌÇÏ, Opera 9.2 ÀÌÇÏ¿¡¼­´Â Áö¿øµÇÁö ¾Ê´Â´Ù. prototype.js ¸¦ »ç¿ëÇÏ¸é ¾î´À Á¤µµ Áö¿øÇØ ÁØ´Ù.
°¢ Äݹé ÇÔ¼ö´Â element, index, array ¸¦ ÀÎÀÚ·Î ¹Þ´Â´Ù.
array.filter(func) : ƯÁ¤ Á¶°ÇÀ» ¸¸Á·ÇÏÁö ¸øÇÏ´Â ¿ø¼Ò Á¦°Å. Á¶°Ç üũ´Â ÇÔ¼ö ÀÎÀÚ°¡.
array.forEach(func) : ¹è¿­ ¿ø¼Ò¸¦ ÇÔ¼ö ÀÎÀÚ¿¡¼­ ó¸®
array.every(func) : ¹è¿­ÀÇ ¸ðµç ¿ø¼Ò¿¡ ´ëÇØ false °ªÀÌ ¹ÝȯµÉ ¶§±îÁö Äݹé ÇÔ¼ö ½ÇÇà
array.map(func) : ¹è¿­ÀÇ ¸ðµç ¿ø¼Ò¿¡ ´ëÇØ Äݹé ÇÔ¼ö¸¦ ½ÇÇàÇÏ°í °á°ú¸¦ ¹è¿­·Î ¸®ÅÏ
array.some(func) : ¹è¿­ÀÇ ¸ðµç ¿ø¼Ò¿¡ ´ëÇØ true °ªÀÌ ¹ÝȯµÉ ¶§±îÁö Äݹé ÇÔ¼ö ½ÇÇà
¹è¿­À妽º »ç¿ëÇϱâ
var langs = new Array('a', 'b', 'c');
for (var itemIndex in langs) {
alert!(langs[itemIndex];
}
¿¬°ü¹è¿­ : HashMap
var assocArray = new Object();
assocArray["one"] = "one";
assocArray["two"] = "two";


Á¤±ÔÇ¥Çö½Ä
JavaScript Á¤±ÔÇ¥Çö½Ä Tutorial
new RegExp('+s') ´Â /+s/ ¿Í °°´Ù.
/pattern/i,new RegExp('pattern', 'i') : ´ë¼Ò¹®ÀÚ¸¦ ±¸ºÐÇÏÁö ¾Ê´Â´Ù.

i : ´ë¼Ò¹®ÀÚ ±¸ºÐ ¾ÈÇÔ
g : Àü¿ª ¸ÅĪ. ¸¶Áö¸· ¸ÅĪ À§Ä¡¸¦ ±â¾ïÇÏ°í ÀÖ´Ù°¡, ¶Ç ´Ù½Ã regexp.exec(string)ÀÌ È£ÃâµÇ¸é ±× ÀÌÈĺÎÅÍ °Ë»öÇÑ´Ù.
m : ¿©·¯ÁÙ ¸ÅĪ
Ư¼ö¹®ÀÚ

* : 0ȸ ÀÌ»ó ¹Ýº¹
+ : 1ȸ ÀÌ»ó ¹Ýº¹
? : 0 ¶Ç´Â 1°³ ¹®ÀÚ
. : 1°³ ¹®ÀÚ


// Á¤±ÔÇ¥Çö½Ä replace
var regExp = /\s\*/g;
var str = "This *is *a *test *string";
var resultString = str.replace(regExp, '-');




// Á¤±ÔÇ¥Çö½Ä ¸ÅĪµÇ´Â ¹®ÀÚ¿­ ã±â
var regExp = /:\D*\s\d+\sd+/;
var str = "This is a date: March 12 2005";
var resultString = str.match(regExp);


°ýÈ£
¸ÅĪ(String.match(regex)) °á°ú¸¦ ["Àüü¸ÅĪ¹®ÀÚ¿­","ù¹ø°°ýÈ£¿¡µé¾î°¡´Â¹®ÀÚ¿­", "µÎ¹ø°", ...] ÇüÅÂÀÇ ¹è¿­·Î ¸®ÅÏÇÑ´Ù.
°¢ °ýÈ£¿¡ ¸ÅĪµÈ ¹®ÀÚ¿­À» $1, $2, .. ·Î ³ªÅ¸³»¾î ´ëü°¡ °¡´ÉÇÏ´Ù. str.replace(regExp, "$2-$1")
/s{2}/ : ¹®ÀÚ s°¡ 2ȸ ³ª¿Â´Ù.


ÇÔ¼ö
ÇÔ¼öµµ °´Ã¼´Ù.

À͸íÇÔ¼ö : ÀÐÀ»¶§¸¶´Ù ÆĽÌ

new func = new Function("ÀÎÀÚ1", "ÀÎÀÚ2", ..., "ÇÔ¼ö¸öü");
ÇÔ¼ö ¸®ÅÍ·² : ´Ü Çѹø¸¸ ÆĽÌ
var func = function (ÀÎÀÚµé) {
    statements;
}
Ŭ·ÎÀú(closure) : ´Ù¸¥ ÇÔ¼ö ³»¿¡¼­ ³»ºÎ °´Ã¼·Î »ý¼ºµÈ ÇÔ¼ö ¸®ÅÍ·²À» ¹ÝȯÇÏ¿© È£Ãâ ÇÁ·Î±×·¥¿¡¼­ À̸¦ º¯¼ö·Î ¹èÁ¤ÇÑ °Í

¸Þ¸ð¸® ´©¼öÀÇ À§ÇèÀÌ ÀÖÀ¸¹Ç·Î ÁÖÀÇÇؼ­ »ç¿ëÇÒ °Í.
JavaScript Closure FAQ
ÇÔ¼ö¸í.length : ÀÎÀÚÀÇ °³¼ö

arguments[i] : °¢ ÀÎÀÚÀÇ °ªÀ» ¼ø¼­´ë·Î °¡Áö°í ÀÖ´Ù.


À̺¥Æ®
QuriksMode JavaScript
IE ¿¡¼­´Â window.event ¿¡ À̺¥Æ® °´Ã¼°¡ ÀúÀåµÈ´Ù.
FireFox/Mozilla/Opera µîÀº À̺¥Æ® ÇÔ¼ö¿¡ event °´Ã¼°¡ ÀÎÀÚ·Î Àü´ÞµÈ´Ù.
// ºê¶ó¿ìÀú¿¡ ¹«°üÇÑ À̺¥Æ® ó¸®
function eventProc(nsEvent) {

var theEvent = nsEvent ? nsEvent : window.event;
// À̺¥Æ® ó¸®..
}
À̺¥Æ® ÇÔ¼ö ³»ÀÇ this´Â À̺¥Æ®¸¦ ¹ß»ý½ÃŲ °´Ã¼¸¦ ÀǹÌÇÑ´Ù.
DOM 2 : ÇÑ À̺¥Æ®¿¡¼­ ¿©·¯°³ÀÇ ÇÔ¼ö È£Ãâ °¡´É

object.addEventListener('event', function, À̺¥Æ®Ã³¸®¹æ½Äboolean);
object.removeEventListener()
object.dispatchEvent()
IE ¿¡¼­´Â À̸¦ Áö¿øÇÏÁö ¾Ê´Â´Ù.
object.attachEvent, object.detachEvent() »ç¿ë.
°¢ À̺¥Æ®°¡ ¸Þ¸ð¸®¸¦ Â÷ÁöÇϹǷÎ, window.onunload À̺¥Æ®¸¦ ¹Þ¾Æ¼­ attachµÈ À̺¥Æ®µéÀ» ¸ðµÎ Á¦°ÅÇØÁà¾ß¸¸ ÇÑ´Ù.
HTMLÀÇ ÀζóÀÎ À̺¥Æ® ¸Þ¼ÒµåµéÀº FireFoxÀÇ °æ¿ì event ¶ó´Â À̸§À¸·Î º¯¼ö¸¦ ¼³Á¤ÇØ¾ß À̺¥Æ® °´Ã¼°¡ Àü´ÞµÈ´Ù.

À̺¥Æ® °´Ã¼ üũ¹æ½ÄÀº ±âÁ¸°ú ¸¶Âù°¡Áö·Î IE¿Í FF ¹æ½ÄÀ» ºÐ¸®Çؼ­ ÇÏ´Â ¹æ½ÄÀ» »ç¿ëÇÏ¸é µÈ´Ù.
<img src="test.jpg" onclick="testinlinemethod(event, arg1, arg2, ...);" />


µµ¸ÞÀÎ
document.domain = "somecompany.com";

ÀÌÈĺÎÅÍ´Â ÀÚ¹Ù½ºÅ©¸³Æ®°¡ *.somecompany.com¿Í ¼ÒÅë °¡´É.



BOM
window.open
self.method() : ÇöÀç À©µµ¿ì Àڽſ¡°Ô ¸Þ¼Òµå ¼öÇà
opener.method() : ÇöÀç À©µµ¿ì¸¦ ¿­¾îÁØ ºÎ¸ð À©µµ¿ì ÂüÁ¶
screen : È­¸é Á¤º¸ availTop, availLeft, availWidth, availHeight, colorDepth, pixelDepth


Tips
IE JavaScript Development & Debugging




ÇÔ¼ö function

ÀÚ¹Ù½ºÅ©¸³Æ®´Â ¼ýÀÚ, ¹®ÀÚ¿­, ºÎ¿ï°ªµî ±âº»ÀûÀº µ¥ÀÌÅÍÇüÀ» Áö¿øÇÒ »Ó¸¸ ¾Æ´Ï¶ó,
±âº» µ¥ÀÌÅÍ ÁýÇÕüÀÎ °´Ã¼(object)¿Í ¹è¿­(array)µî µÎ°¡Áö º¹ÇÕ µ¥ÀÌÅÍ Çü(complex data type)µµ Áö¿øÇÑ´Ù.
´ëºÎºÐÀÇ ¾ð¾î¿Í ´Þ¸® ÀÚ¹Ù½ºÅ©¸³Æ®´Â µ¥ÀÌÅÍ ÇüÀ¸·Î¼­ ÇÔ¼öµµ Áö¿øÇÏ¿© ÀÚ¹Ù½ºÅ©¸³Æ® ÇÁ·Î±×·¥À» ¹®ÀÚ¿­Ã³·³ Ãë±ÞÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù.
ÇÔ¼ö°¡ º¯¼ö, ¹è¿­, °´Ã¼¿¡ ÀúÀåµÉ ¼ö ÀÖ°í, ÇÔ¼ö°¡ ÀÎÀÚ·Î ´Ù¸¥ ÇÔ¼ö¿¡ Àü´Þ µÉ ¼ö ÀÖ´Ù.
ÇÔ¼ö°¡ °´Ã¼ÀÇ ÇÁ·ÎÆÛƼ¿¡ ÇÒ´çµÇ´Â °æ¿ì¿¡ ÀÌ ÇÔ¼ö¸¦ °´Ã¼ÀÇ ¸Þ¼Òµå¶ó°í ÇÑ´Ù.
ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ ÇÔ¼ö´Â ±¸¹®ÀÏ »Ó¸¸ ¾Æ´Ï¶ó µ¥ÀÌÅÍÀ̱⵵ ÇÏ´Ù

- ÇÔ¼ö È£Ãâ ¿¬»êÀÚ () : °íÁ¤µÈ ÇÇ¿¬»êÀÚ °³¼ö¸¦ °¡Áö°í ÀÖÁö ¾Ê´Ù.

- ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼­ ¹®ÀåÀº ÇÁ·Î±×·¥¿¡¼­ µ¿ÀûÀÎ µ¿ÀÛÀ» ¼öÇàÇÏ´Â ¹Ý¸é ÇÔ¼ö Á¤ÀÇ´Â ÇÁ·Î±×·¥ÀÇ Á¤ÀûÀÎ ±¸Á¶¸¦ ³ªÅ¸³½´Ù.
   ¹®ÀåÀÌ ½ÇÇà ½Ã°£(runtime)¿¡ ¼öÇàµÇ´Â ¹Ý¸é ÇÔ¼ö´Â ÀÚ¹Ù½ºÅ©¸³Æ® Äڵ尡 ÆĽ̵ǰųª ÄÄÆÄÀ쵃 ¶§ Á¤ÀǵȴÙ.
   ÀÚ¹Ù½ºÅ©¸³Æ® Æļ­°¡ ÇÔ¼ö Á¤ÀǸ¦ ¸¸³ª¸é ±×°ÍÀº ÇÔ¼öÀÇ º»¹®À» ±¸¼ºÇÏ´Â ¹®ÀåÀ» ÆĽÌÇÏ°í ÀúÀåÇÑ´Ù. (½ÇÇàÇÏÁö´Â ¾Ê´Â´Ù.)
   ±×¸®°í ³ª¼­ ±× ÇÔ¼ö¸¦ ³ªÅ¸³»´Â À̸§°ú °°Àº À̸§ÀÇ ÇÁ·ÎÆÛƼ¸¦ Á¤ÀÇÇÑ´Ù.



    alert!(f(4));      // 16À» Ãâ·ÂÇÑ´Ù. f()´Â ±×°ÍÀÌ Á¤ÀǵDZâ Àü¿¡ È£Ãâ¼ê ¼ö ÀÖ´Ù.
                        // ´Ü, À̺¥Æ® Çڵ巯¿¡¼­ ÇÔ¼ö¸¦ È£ÃâÇÒ °æ¿ì¿¡´Â ¹Ì¸®Á¤ÀÇ µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.
    var f=0;          // fÀÇ ÇÁ·ÎÆÛƼ¸¦ Àç¼³Á¤ÇÑ´Ù.
    function f(x){  // ÀÌ ¹®ÀåÀº À§ µÎ ÇàÀÌ ½ÇÇàµÇ±â Àü¿¡ ÇÔ¼ö f¸¦ Á¤ÀÇÇÑ´Ù.
       return x*x;
    }
   alert!(f);           // 0À» Ãâ·ÂÇÑ´Ù. f()´Â º¯¼ö f¿¡ ÀÇÇØ Àç¼³Á¤ µÈ´Ù.




À§¿Í °°Àº °á°ú°¡ ³ª¿Â ÀÌÀ¯´Â ÇÔ¼ö Á¤ÀÇ°¡ º¯¼ö Á¤ÀÇ¿Í ´Ù¸¥ ½ÃÁ¡¿¡ ¹ß»ýÇϱ⠶§¹®ÀÌ´Ù.



-  a.sort(function(a,b){return a-b;});      // ÇÔ¼ö¸¦ Á¤ÀÇÇÏ°í ±×°ÍÀ» ´Ù¸¥ ÇÔ¼ö¿¡ Àü´Þ
    var s = (function(x){return x*x;})(10); // Á¤ÀÇ¿Í È£ÃâÀ» µ¿½Ã¿¡




arguments °´Ã¼ - ÇÔ¼öÀÇ ÀÎÀÚ

arguments´Â arguments °´Ã¼¸¦ ÂüÁ¶Çϴ ȣÃâ °´Ã¼ÀÇ Æ¯Á¤ÇÑ ÇÁ·ÎÆÛƼÀÌ´Ù.
- arguments[] ¹è¿­ÀÇ ¿ä¼Ò´Â ÇÔ¼ö¿¡ Àü´ÞµÈ ÀÎÀÚÀÇ °ªÀ» °¡Áö°í ÀÖ´Ù.
- ÀÎÀÚ¿¡ À̸§ÀÌ ¾ø´õ¶óµµ ÇØ´ç ÀÎÀÚÀÇ °ª¿¡ Á¢±ÙÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. ex) arguments[0]



Äݹé ÇÔ¼ö

¸Þ¼Òµå ½ÇÇà ½Ã¿¡ ÀÚµ¿À¸·Î È£ÃâµÇ´Â ÇÔ¼ö°¡ ÀÖ´Ù. ±×·¯ÇÑ ¸Þ¼Òµå·Î filter, forEach, every, map, someÀÌ ÀÖÀ¸¸ç,

À̶§ »ç¿ëµÇ´Â ÇÔ¼ö´Â ÇÔ¼ö ¸®ÅÍ·²·Î ÀϹÝÀûÀ¸·Î Äݹé ÇÔ¼ö¶ó°í ÇÑ´Ù.



ÇÔ¼ö Ŭ·ÎÀú

ÀÚ¹Ù½ºÅ©¸³Æ® ÇÁ·Î±×·¥¿¡¼­´Â »õ·Î¿î ¿µ¿ªÀ» »ý¼ºÇÒ ¶§¸¶´Ù À̸¦ µÑ·¯½Î±â À§ÇÑ '¿¬°ü ¿µ¿ª ¹öºí'ÀÌ »ý¼ºµÈ´Ù.

ÀÌ´Â ÇÔ¼ö¿¡µµ Àû¿ëµÇ¸ç, ÇØ´ç ÇÔ¼ö´Â ÀÚ½ÅÀÇ ¿µ¿ª¿¡¼­ µ¿ÀÛÇÏ°Ô µÈ´Ù.


function outFunc(base){   // ¹Ù±ùÂÊ ÇÔ¼ö
      var punc = "!";

      function inFunc(ext){   // ¾ÈÂÊ ÇÔ¼ö

             return base + ext + punc;

      }

      return returnString;

}


ÀϹÝÀûÀ¸·Î ÇÔ¼ö°¡ Á¾·áµÇ¸é, ±× ¿µ¿ª¿¡¼­ ÇØÁ¦µÈ´Ù. ¿Ö³ÄÇÏ¸é ´õ ÀÌ»ó ÇÊ¿äÄ¡ ¾Ê±â ¶§¹®ÀÌ´Ù.

ÇÏÁö¸¸ ¾ÈÂÊ ÇÔ¼öÀÇ °æ¿ì¿£ ÀÌ°ÍÀÌ ¹Ù±ùÂÊ ÇÁ·Î±×·¥¿¡ ¹ÝȯµÇ°í ¿ÜºÎ º¯¼ö¿¡ ÇÒ´çµÈ´Ù.

Áï, ¾ÈÂÊ ÇÔ¼öÀÇ ¿µ¿ªÀÌ ¹Ù±ùÂÊ ÇÔ¼öÀÇ ¿µ¿ª¿¡ Ãß°¡µÇ°í, °á±¹ È£Ãâ ÇÁ·Î±×·¥¿¡ Ãß°¡µÇ´Â °ÍÀÌ´Ù.

µû¶ó¼­ ÇÔ¼ö ¸®ÅÍ·² ¹× ¹Ù±ùÂÊ ÇÔ¼öÀÇ ÀÎÀÚ¿Í º¯¼ö¸¦ À¯ÁöÇÏ°Ô µÈ´Ù. ´Ù¸¥ ÇÔ¼ö ³»¿¡¼­ ³»ºÎ °´Ã¼·Î »ý¼ºµÈ

ÇÔ¼ö ¸®ÅÍ·²À» ¹ÝȯÇÏ¿© È£Ãâ ÇÁ·Î±×·¥¿¡¼­ À̸¦ º¯¼ö·Î ¹èÁ¤ÇÑ °ÍÀ» ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼­´Â Ŭ·ÎÀú(closure)¶ó°í ÇÑ´Ù.

Áï, ÇÔ¼ö°¡ µ¿ÀÚÇÏ´Â µ¥ ÇÊ¿äÇÑ µ¥ÀÌÅÍ ¿µ¿ªÀÌ È®ÀåµÇ´Â °ÍÀÌ´Ù.







callee ÇÁ·ÎÆÛƼ
ÇöÀç ½ÇÇàµÇ°í ÀÖ´Â ÇÔ¼ö¸¦ ÂüÁ¶, À̸§ÀÌ ¾ø´Â ÇÔ¼ö°¡ ÀÚ±â ÀÚ½ÅÀ» È£ÃâÇÒ ¶§ À¯¿ëÇÏ´Ù.


function(x){
    if(x>1) return x * arguments.callee(x-1);
    return x;
  }










caller ÇÁ·ÎÆÛƼ
ÇöÀç È£ÃâµÈ ÇÔ¼ö¸¦ ÂüÁ¶ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ÇöÀç È£ÃâµÈ ÇÔ¼öÀÇ arguments °´Ã¼¸¦ ÂüÁ¶ÇÑ´Ù.


apply() ¸Þ¼Òµå
ÇÔ¼ö¸¦ ¸¶Ä¡ ´Ù¸¥ °´Ã¼ÀÇ ¸Þ¼Òµåó·³ È£ÃâÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù.





°´Ã¼ object

À̸§ÀÌ ÁöÁ¤µÈ µ¥ÀÌÅÍÀÇ ¿©·¯ °¡Áö ºÎºÐÀ» Æ÷ÇÔÇÏ´Â µ¥ÀÌÅÍ ±¸Á¶·Î, ÀÌ µ¥ÀÌÅ͸¦ ó¸®Çϱâ À§ÇÑ ¿©·¯°¡Áö ¸Þ¼Òµåµµ Æ÷ÇÔÇÑ´Ù.
°´Ã¼´Â °ü·ÃµÈ µ¥ÀÌÅÍ °ª°ú ¸Þ¼Òµå¸¦ »ç¿ëÇϱ⠽±°Ô ´ÜÀÏ ÆÐÅ°Áö ¾È¿¡ ¸ð¾ÆµÎ±â ¶§¹®¿¡ ÄÚµåÀÇ ¸ðµâ¼º(modularity)°ú
Àç»ç¿ë(reusability)À» Áõ°¡½ÃÄѼ­ Àü¹ÝÀûÀ¸·Î ½±°Ô ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.



- °´Ã¼ == À̸§°ú °ªÀ» °¡Áø 'ÇÁ·ÎÆÛƼ(property)'ÀÇ ÁýÇÕ
- ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼­ °´Ã¼´Â ÀÓÀÇÀÇ ¼ö¸¸Å­ ÇÁ·ÎÆÛƼ¸¦ °¡Áú ¼ö ÀÖ°í, °´Ã¼¿¡ µ¿ÀûÀ¸·Î ÇÁ·ÎÆÛƼ¸¦ Ãß°¡ÇÒ ¼ö ÀÖ´Ù.




°´Ã¼»ý¼º ¿¬»êÀÚ new

- °´Ã¼ »ý¼º var obj = new Object();
(delete : °´Ã¼ÀÇ ÇÁ·ÎÆÛƼ, ¹è¿­ÀÇ ¿ä¼Ò¸¦ »èÁ¦Çϰųª Á¤ÀǵÇÁö ¾ÊÀº °ªÀ¸·Î ¸¸µç´Ù.)


°´Ã¼Á¢±Ù ¿¬»êÀÚ . / []

- [] ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¸é ¹è¿­ÀÇ ¿ä¼Ò¿¡ Á¢±ÙÇÒ ¼ö ÀÖ°í °´Ã¼ÀÇ ÇÁ·ÎÆÛƼ¿¡µµ Á¢±ÙÇÒ ¼ö ÀÖ´Ù.


»ý¼ºÀÚ

ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼­´Â new ¿¬»êÀÚ¿Í ¹Ì¸® Á¤ÀÇµÈ Object(), Date(), Function() °°Àº ÇÔ¼öµéÀ» ÀÌ¿ëÇÏ¿©

»õ·Î¿î °´Ã¼¸¦ ¸¸µé°Å³ª ÃʱâÈ­ ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª »ç¿ëÀÚ°¡ Á÷Á¢ °´Ã¼ÇüÀ» Á¤ÀÇÇÏ¿© »ç¿ëÇÏ´Â °æ¿ì°¡ ´õ ¸¹´Ù.
¿¹¸¦ µé¾î, »ç°¢ÇüÀ» ó¸®ÇÏ´Â Rectangle Ŭ·¡½º¿¡ width, height ÇÁ·ÎÆÛƼ°¡ ÀÖÀ»¶§,
width, height °°ÀÌ ÀÌ¹Ì Á¤ÀÇµÈ ÇÁ·ÎÆÛƼ¸¦ °¡Áö´Â °´Ã¼¸¦ »ý¼ºÇÏ·Á¸é »õ·Î¿î °´Ã¼¸¦ »ý¼ºÇÏ°í
ÀÌ ÇÁ·ÎÆÛƼµéÀ» ÃʱâÈ­ ÇÒ ¼ö ÀÖ´Â '»ý¼ºÀÚ(construnctor)'°¡ ÇÊ¿äÇÏ´Ù.


- »ý¼ºÀÚ´Â new ¿¬»êÀÚ¸¦ ÅëÇØ È£ÃâµÈ´Ù.
- »ý¼ºÀÚ´Â this¶ó´Â Ư¼ö Å°¿öµåÀÇ °ªÀ¸·Î »õ·Ó°Ô »ý¼ºµÈ ºó °´Ã¼ÀÇ ÂüÁ¶¸¦ ³Ñ°Ü ¹Þ¾Æ¼­  »õ·ÎÀº °´Ã¼¸¦ ÀûÀýÇÏ°Ô ÃʱâÈ­ ÇÑ´Ù.


// »ý¼ºÀÚ ÇÔ¼ö Á¤ÀÇ
  function Rectangle(w, h){
   this.width = w;
   this.height = h;
  }
// °´Ã¼¸¦ »ý¼ºÇϱâ À§ÇØ »ý¼ºÀÚ ÇÔ¼ö¸¦ È£Ãâ, w, h¸¦ Àü´ÞÇؼ­ »õ·Î¿î °´Ã¼¸¦ ÀûÀýÇÑ °ªÀ¸·Î ÃʱâÈ­ÇÑ´Ù´Â °ÍÀ» ÁÖÀÇ

var rect1 = new Rectangle(2,4);










- »ý¼ºÀÚ ÇÔ¼ö´Â ÀϹÝÀûÀ¸·Î ¹Ýȯ °ªÀÌ ¾øÀ¸¸ç this °ªÀ¸·Î ³Ñ°Ü¹ÞÀº °´Ã¼¸¦ ÃʱâÈ­ÇÏ°í ¾Æ¹«°ªµµ ¹ÝȯÇÏÁö ¾Ê´Â´Ù.
  ±×·¯³ª °´Ã¼¸¦ ¹ÝȯÇÒ ¼ö´Â ÀÖÀ¸¸ç ±×·² °æ¿ì¿¡ ¹ÝȯµÇ´Â °´Ã¼´Â new Ç¥Çö½ÄÀÇ °ªÀ̵ȴÙ. ÀÌ °æ¿ì¿¡ thisÀÇ °ªÀÇ °´Ã¼´Â ¹ö·ÁÁø´Ù.



¸Þ¼Òµå method
°´Ã¼¿¡¼­ È£ÃâµÇ´Â ÇÔ¼ö



prototype ÇÁ·ÎÆÛƼ

¸ðµç ÇÔ¼ö¿¡´Â ¹Ì¸® Á¤ÀÇµÈ '¿øÇü(prototype) °´Ã¼'¸¦ ÂüÁ¶ÇÏ´Â prototype ÇÁ·ÎÆÛƼ°¡ ÀÖ´Ù.
¸ðµç °´Ã¼´Â ¿øÇüÀ» °¡Áö¹Ç·Î °´Ã¼´Â ±×°ÍÀÇ ¿øÇüÀÌ °¡Áø ÇÁ·ÎÆÛƼ¸¦ ¸ðµÎ »ó¼Ó¹Þ´Â´Ù.
ÀÌ´Â °´Ã¼ÀÇ ¸ðµç ÇÁ·ÎÆÛƼ°¡ ±×°ÍÀ» »ó¼ÓÇÑ °´Ã¼ÀÇ ÇÁ·ÎÆÛƼó·³ º¸Àδٴ ÀǹÌÀÌ´Ù.
°´Ã¼ÀÇ Å¬·¡½º¿¡ ´ëÇÑ ¿øÇü °´Ã¼¸¦ ÁöÁ¤ÇÏ·Á¸é ÀûÀýÇÑ °´Ã¼¿¡ »ý¼ºÀÚ ÇÔ¼öÀÇ prototype ÇÁ·ÎÆÛƼÀÇ °ªÀ» ¼³Á¤ÇÑ´Ù.
±× ´ÙÀ½¿¡ »ý¼ºÀÚ·Î »õ·Î¿î °´Ã¼¸¦ È£ÃâÇÒ ¶§ ÀÚµ¿À¸·Î ÀÚ¹Ù½ºÅ©¸³Æ®´Â ÁöÁ¤ÇÑ °´Ã¼¸¦ »õ·Î »ý¼ºµÇ´Â °´Ã¼ÀÇ ¿øÇüÀ¸·Î »ç¿ëÇÑ´Ù.


- »ý¼ºÀÚ ÇÔ¼ö´Â °´Ã¼ÀÇ Å¬·¡½º¸¦ Á¤ÀÇÇÏ°í, Ŭ·¡½ºÀÇ »óÅ º¯¼ö·Î »ç¿ëµÇ´Â width, height °°Àº ÇÁ·ÎÆÛƼ¸¦ ÃʱâÈ­ ÇÑ´Ù.
   ¿øÇü °´Ã¼´Â »ý¼ºÀÚ¿Í °áÇÕÇϹǷΠŬ·¡½ºÀÇ °¢ ¸â¹öµéÀº ¿øÇüÀ¸·ÎºÎÅÍ Á¤È®ÇÏ°Ô ¶È°°Àº ÇÁ·ÎÆÛƼ ÁýÇÕÀ» »ó¼Ó¹Þ´Â´Ù.
   ÀÌ´Â ¿øÇü °´Ã¼°¡ ¸Þ¼Òµå³ª ´Ù¸¥ »ó¼ö ÇÁ·ÎÆÛƼ¸¦ Á¤ÀÇÇϱ⿡ °¡Àå ÀÌ»óÀûÀÎ À§Ä¡¶ó´Â °ÍÀ» ÀǹÌÇÑ´Ù.


- »ó¼Ó(inheritance)Àº ÇÁ·ÎÆÛƼ °ªÀ» °Ë»öÇÏ´Â °úÁ¤ÀÇ ÀϺημ­ ÀÚµ¿À¸·Î ¹ß»ýÇÑ´Ù.
   ÇÁ·ÎÆÛƼ´Â ¿øÇü °´Ã¼·ÎºÎÅÍ »õ·Î¿î °´Ã¼·Î º¹»çµÇ´Â °ÍÀÌ ¾Æ´Ï¸ç ´ÜÁö ÇØ´ç °´Ã¼ÀÇ ÇÁ·ÎÆÛƼÀÎ °Íó·³ º¸ÀÌ´Â °Í »ÓÀÌ´Ù.


- ¿øÇü °´Ã¼¸¦ »ç¿ëÇÏ¿© ÇÁ·ÎÆÛƼ¸¦ »ó¼ÓÇÒ ¼ö ÀÖÀ¸¹Ç·Î °¢ °´Ã¼¸¦ ¸¸µé ¶§ ÇÊ¿äÇÑ ¸Þ¸ð¸®ÀÇ ¾çÀ» Å©°Ô ÁÙÀÏ ¼ö ÀÖ´Ù.


- °´Ã¼´Â »ý¼ºµÈ ÈÄ¿¡ ¿øÇü¿¡ Ãß°¡µÈ ÇÁ·ÎÆÛƼ °ªµµ »ó¼Ó¹ÞÀ» ¼ö ÀÖ´Ù.


- °¢°¢ÀÇ Å¬·¡½º¿¡´Â ÇϳªÀÇ ÇÁ·ÎÆÛƼ ÁýÇÕÀ» °¡Áø ÇϳªÀÇ ¿øÇü °´Ã¼°¡ ÀÖ´Ù.
   ±×·¯³ª ÀÌ Å¬·¡½º·ÎºÎÅÍ ¸¹Àº ÀνºÅϽº¸¦ ¸¸µé ¼ö ÀÖ°í, °¢ ÀνºÅϽº¿¡¼­´Â ¿øÇüÀÇ ÇÁ·ÎÆÛƼ¸¦ »ó¼Ó¹Þ°Ô µÈ´Ù.
   °´Ã¼ oÀÇ ÇÁ·ÎÆÛƼ p¸¦ ÀÐÀ» ¶§ ÀÚ¹Ù½ºÅ©¸³Æ®´Â ¸ÕÀú o¿¡ p¶ó´Â ÇÁ·ÎÆÛƼ°¡ ÀÖ´ÂÁö °Ë»çÇÑ´Ù.
   p°¡ ¾ø´Â °æ¿ì¿¡´Â oÀÇ ¿øÇü °´Ã¼¿¡ p¶ó´Â À̸§À» °¡Áø ÇÁ·ÎÆÛƼ°¡ ÀÖ´ÂÁö °Ë»çÇÑ´Ù.
   ÀÌ°ÍÀº ¿øÇüÀ» ¹ÙÅÁÀ¸·Î ÇÑ »ó¼Ó ÀÛ¾÷ÀÌ´Ù.


  ÇÁ·ÎÆÛƼ »ó¼ÓÀº ÇÁ·ÎÆÛƼ °ªÀº ÀÐÀ» ¶§¸¸ ¹ß»ýÇÏ°í ÇÁ·ÎÆÛƼ °ªÀ» ¾µ ¶§´Â ¹ß»ýÇÏÁö ¾Ê´Â´Ù.
   ¿øÇüÀ¸·Î ºÎÅÍ ÇÁ·ÎÆÛƼ¸¦ »ó¼Ó¹ÞÀº °´Ã¼ o¿¡¼­ ÇÁ·ÎÆÛƼ pÀÇ °ªÀ» ¼³Á¤ÇÏ¸é °´Ã¼ o¿¡¼­ Á÷Á¢ "»õ·Î¿î ÇÁ·ÎÆÛƼ p°¡ »ý¼º"µÈ´Ù.
   ÀÌ·¸°Ô µÇ¸é °´Ã¼ o´Â p¶ó´Â À̸§ÀÌ ÁöÁ¤µÈ ÀڽŸ¸ÀÇ ÇÁ·ÎÆÛƼ¸¦ °¡Áö°Ô µÇ°í, "±× °á°ú·Î °´Ã¼ÀÇ ¿øÇüÀ¸·ÎºÎÅÍ pÀÇ °ªÀ»
   ´õÀÌ»ó »ó¼Ó ¹ÞÀ» ¼ö ¾ø°Ô µÈ´Ù." (À̶§ ¿øÇüÀÇ ÇÁ·ÎÆÛƼ p´Â °¡·ÁÁø(shadow), ¼û°ÜÁø(hide) ÇÁ·ÎÆÛƼ¶ó°í ºÎ¸¥´Ù.)


  
ÀνºÅϽº instance

Ŭ·¡½º¿¡ ±âÃÊÇÑ °´Ã¼ÁöÇâ ¾ð¾î¿Í ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼­´Â °°Àº Ŭ·¡½º¿¡ ¿©·¯ °´Ã¼¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
ÀÌ·± °´Ã¼¸¦ Ŭ·¡½ºÀÇ ÀνºÅϽº¶ó°í ÇÑ´Ù. == Ŭ·¡½º ¾ÈÀÇ °´Ã¼


- ÀνºÅϽº º¯¼ö
  ¸ðµç °´Ã¼¿¡´Â ÀڽŸ¸ÀÇ ºÐ¸®µÈ ÀνºÅϽº º¯¼ö º¹»çº»ÀÌ ÀÖ´Ù. ´Ù½Ã ¸»ÇØ ¾î¶² Ŭ·¡½º¿¡ 10°³ÀÇ °´Ã¼°¡ ÀÖ´Ù¸é
  10°³ÀÇ ÀνºÅϽº º¯¼ö°¡ ÀÖ´Â ¼ÀÀÌ´Ù.  ¿¹¸¦ µé¾î Circle Ŭ·¡½º¿¡¼­ ¸ðµç circle °´Ã¼¿¡´Â ¿øÀÇ ¹ÝÁö¸§À» Á¤ÀÇÇÏ´Â ÇÁ·ÎÆÛƼ rÀÌ ÀÖ´Ù.
  ÀÌ·± °æ¿ì¿¡ rÀº ÀνºÅϽº º¯¼öÀÌ´Ù.

   °¢ °´Ã¼¿¡´Â ÀڽŸ¸ÀÇ ÀνºÅϽº º¯¼ö º¹»çº»ÀÌ ÀÖÀ¸¹Ç·Î °¢°¢ÀÇ °´Ã¼¸¦ ÅëÇØ ÀÌ º¯¼ö¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù.
   °´Ã¼ÀÇ ÇÁ·ÎÆÛƼ == ÀνºÅϽº º¯¼ö

- ÀνºÅϽº ¸Þ¼Òµå
  ÀνºÅϽº ¸Þ¼Òµå´Â this Å°¿öµå¸¦ »ç¿ëÇÏ¿© ó¸®ÇÏ°í ÀÖ´Â °´Ã¼³ª ÀνºÅϽº¸¦ ÂüÁ¶ÇÑ´Ù.
  Å¬·¡½ºÀÇ ¸ðµç ÀνºÅϽº¿¡¼­ È£ÃâÇÒ ¼ö ÀÖÁö¸¸ ÀÌ°ÍÀÌ ÀνºÅϽº º¯¼öó·³

  ¸ðµç °´Ã¼¿¡¼­ ÀڽŸ¸ÀÇ ¸Þ¼Òµå º¹»çº»À» °¡Áø´Ù´Â Àǹ̴ ¾Æ´Ï´Ù.

  ´ë½Å¿¡ ¸ðµç Ŭ·¡½ºÀÇ ÀνºÅϽº´Â ÀνºÅϽº ¸Þ¼Òµå¸¦ ¸ðµÎ °øÀ¯ÇÑ´Ù.





garbage collector
ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼­´Â ¼öµ¿À¸·Î ¸Þ¸ð¸®¸¦ ¹ÝȯÇÏ´Â ´ë½Å¿¡ ÀÌ ÀÛ¾÷À» '°¡ºñÁö ¼öÁý(garbage collection)'À̶ó´Â ±â¼ú¿¡ ¸Ã±ä´Ù.
ÀÎÅÍÇÁ¸®ÅÍ´Â ÇÁ·Î±×·¥¿¡¼­ ´õ ÀÌ»ó ¾²ÀÌÁö ¾Ê´Â °´Ã¼¸¦ °Ë»öÇÒ ¼ö ÀÖ´Ù.
°´Ã¼°¡ Á¢±ÙÇϱ⠾î·Á¿î À§Ä¡(ÇÁ·Î±×·¥¿¡¼­ º¯¼ö°¡ ´õ ÀÌ»ó ±× °´Ã¼¸¦ ÂüÁ¶ÇÏÁö ¾ÊÀ» °æ¿ì)¿¡ ÀÖÀ¸¸é
ÀÎÅÍÇÁ¸®ÅÍ´Â ±× °´Ã¼°¡ ´õ ÀÌ»ó ÇÊ¿äÇÏÁö ¾Ê´Ù°í ÆÇ´ÜÇÏ°í ±× °´Ã¼¿¡ »ç¿ëµÈ ¸Þ¸ð¸®¸¦ ÇØÁ¦ÇÑ´Ù.


var s = "hi";    // ¹®ÀÚ¿­¿¡ ¸Þ¸ð¸®¸¦ ÇÒ´ç
var u = s.toUpperCse(); // »õ·Î¿î ¹®ÀÚ¿­À» »ý¼º
s = u;     // ¿ø·¡ ¹®ÀÚ¿­¿¡ ÂüÁ¶¸¦ ¾þ¾î¾¸







ÀÌ Äڵ尡 ½ÇÇàµÈ ÈÄ¿¡´Â ¿ø·¡ ¹®ÀÚ¿­ "hello"¿¡ ´õ ÀÌ»ó Á¢±Ù ÇÒ ¼ö ¾ø´Ù.


- °¡ºñÁö ÄÝ·ºÅÍ ´ëºÎºÐÀº 'Ç¥½Ã, Á¦°Å(mark and sweep)' ¶ó°í ¾Ë·ÁÁø

   ±âº»ÀûÀÎ °¡ºñÁö ÄÝ·º¼Ç ¾Ë°í¸®ÁòÀ» ¾à°£¾¿ º¯Çü½ÃÄѼ­ »ç¿ëÇÑ´Ù.



Ç¥½Ã, Á¦°Å mark and sweep

- ÁÖ±âÀûÀ¸·Î ÀÚ¹Ù½ºÅ©¸³Æ® ȯ°æ¿¡¼­ »ç¿ëµÇ´Â ¸ðµç º¯¼ö ¸ñ·ÏÀ» °Ë»öÇÑ´Ù.
   ±×¸®°í ÀÌ º¯¼öµéÀÌ ÂüÁ¶ÇÏ´Â °ª¿¡ Ç¥½Ã¸¦ ÇÑ´Ù.

   ÂüÁ¶ÇÑ °ªÀÌ °´Ã¼³ª ¹è¿­ÀÌ¸é °¡ºñÁö ¼öÁý±â´Â ±× °´Ã¼ÀÇ ÇÁ·ÎÆÛƼ³ª ¹è¿­ÀÇ ¿ä¼Ò¿¡ Ç¥½Ã¸¦ ÇÑ´Ù.

   °¡ºñÁö ¼öÁý±â´Â °ªµé·Î ÀÌ·ç¾îÁø ±×·¡ÇÁ¿Í Æ®¸®¸¦ ¼øȯÀûÀ¸·Î °Ë»öÇÏ¿© »ç¿ëµÇ°í ÀÖ´Â °¢°¢ÀÇ °ª¿¡ Ç¥½Ã¸¦ ÇÒ ¼ö ÀÖ´Ù.

   ÀÌ·¯ÇÑ ÀÛ¾÷À» ¸¶Ä£ ÈÄ¿¡ Ç¥½ÃµÇÁö ¾ÊÀº °ÍÀº °¡ºñÁö°¡ µÈ´Ù.



- Ç¥½Ã, Á¦°Å °¡ºñÁö ¼öÁý±â°¡ ÇöÀç »ç¿ëµÇ°í ÀÖ´Â °ª¿¡ Ç¥½ÃÇÏ´Â ÀÛ¾÷À» ³¡³½ ÈÄ¿¡´Â Á¦°Å ´Ü°è¸¦ ¼öÇàÇÑ´Ù.
   ÀÌ ´Ü°è¸¦ ÁøÇàÇÏ´Â µ¿¾È ±× ȯ°æ¿¡¼­ »ç¿ëµÇ´Â ¸ðµç °ª ¸ñ·ÏÀ» ã°í, Ç¥½ÃµÇÁö ¾ÊÀº °Í¿¡ ÇÒ´çµÇ¾ú´ø ¸Þ¸ð¸®¸¦ ¹ÝȯÇÑ´Ù.
   ÀüÇüÀûÀΠǥ½Ã, Á¦°Å °¡ºñÁö ¼öÁý±â´Â Ç¥½Ã ÀÛ¾÷°ú Á¦°Å ÀÛ¾÷À» µ¿½Ã¿¡ ÇÑ´Ù.
   ÀÌ·¯ÇÑ ÀÛ¾÷Àº °¡ºñÁö ¼öÁýÀ» ¼öÇàÇÏ´Â µ¿¾È ½Ã½ºÅÛÀÇ ¼º´ÉÀ» ÇöÀúÈ÷ ¶³¾î¶ß¸°´Ù.
   Á»´õ Á¤°íÇÏ°Ô º¯È­µÈ ¾Ë°í¸®ÁòÀº »ó´ëÀûÀ¸·Î ÀÛ¾÷À» È¿À²ÀûÀ¸·Î ó¸®Çϸç, ½Ã½ºÅÛÀÇ ¼º´ÉÀ» ÀúÇϽÃÅ°Áö ¾Ê°í
   ¹é±×¶ó¿îµå¿¡¼­ ¼öÁý ÀÛ¾÷À» ¼öÇàÇÑ´Ù.

ÃßõÃßõ : 269 Ãßõ ¸ñ·Ï
¹øÈ£ Á¦¸ñ
2,885
input ÀÔ·Â ÇÊµå ¾ÕµÚ °ø¹é ½Ç½Ã°£ Á¦°Å
2,884
Placeholder Æ÷Ä¿½º½Ã °¨Ãß±â
2,883
MySQL Áߺ¹µÈ µ¥ÀÌÅ͸¦ »èÁ¦
2,882
MySQL Áߺ¹ µ¥ÀÌÅÍ È®ÀÎ
2,881
sessionStorage.getItem ¿Í sessionStorage.setItem
2,880
Á¦ÀÌÄõ¸® ·£´ýÀ¸·Î ¹è°æ»ö º¯°æ
2,879
preg match¿¡ °üÇÑ Á¤±Ô½Ä
2,878
Stream an audio file with MediaPlayer ¿Àµð¿À ÆÄÀÏ ½ºÆ®¸®¹Ö Çϱâ
2,877
Audio Streaming PHP Code
2,876
PHP $ SERVER ȯ°æ º¯¼ö Á¤¸®
2,875
Vimeo (ºñ¸Þ¿À) API ¸¦ »ç¿ëÇÏ¿© Ç÷¹À̾î ÄÁÆ®·ÑÇϱâ
2,874
iframe »ç¿ë½Ã ÇÏ´Ü¿¡ ¹ß»ýÇÏ´Â °ø¹é Á¦°Å¹æ¹ý
2,873
¾ÆÀÌÇÁ·¹ÀÓ(iframe) Àüüȭ¸é °¡´ÉÇÏ°Ô Çϱâ
2,872
ºÎÆ®½ºÆ®·¦(bootstrapk)¿¡¼­ »ç¿ëÇÏ´Â class¸í Á¤¸®
2,871
ºÎÆ®½ºÆ®·¦ CSS
2,870
Å©·Ò¿¡¼­ ¸¶Áø Á¶Àý
2,869
PHP ÇöÀç ÆäÀÌÁöÀÇ µµ¸ÞÀθíÀ̳ª urlµîÀÇ Á¤º¸ ¾Ë¾Æ¿À±â
2,868
PHP preg match all()
2,867
PHP ·Î À¥ÆäÀÌÁö ±Ü¾î¿À±â ¸ðµç ¹æ¹ý ÃÑÁ¤¸®!
2,866
[PHP] ¿ø°ÝÁö ÆÄÀÏ ÁÖ¼Ò ³ëÃâ ¾ÈÇÏ°í curl·Î ´Ù¿î·Îµå ¹Þ±â
2,865
PHP ÇÔ¼ö Á¤¸®
2,864
¾ÆÀÌÇÁ·¹ÀÓ(iframe) ºñÀ² À¯ÁöÇϸ鼭 Å©±â Á¶ÀýÇÏ´Â ¹æ¹ý
2,863
PHP ¹è¿­¿¡¼­ ¹«ÀÛÀ§·Î Çϳª »Ì¾ÆÁÖ´Â array rand() ÇÔ¼ö
2,862
PHP Á¤±Ô½Ä Á¤¸®
2,861
PHP Á¤±Ô½ÄÀ» È°¿ëÇÑ ÅÂ±× ¹× ƯÁ¤ ¹®ÀÚ¿­ Á¦°Å ¹× ÃßÃâ ¹æ¹ý
2,860
php Å©·Ñ¸µ ¶Ç´Â ÆÄ½Ì ÇÔ¼ö, Á¤±Ô½Ä ¸ðÀ½
2,859
Á¦ÀÌÄõ¸® ±âº» ¸í·É¾î
2,858
À¥ÆäÀÌÁö °¡·Î ¸ðµå¼¼·Î ¸ðµå ÀνÄÇϱâ
2,857
¸ð¹ÙÀÏ À¥ È­¸é °­Á¦ ȸÀü(°¡·Î¸ðµå °íÁ¤)
2,856
[HTML5]¿¡¼­ frameset ´ëü ¹æ¹ý°ú iframe ¼Ó¼º
¸ñ·Ï
¹ÂÁ÷Æ®·ÎÆ® ºÎ»ê±¤¿ª½Ã ºÎ»êÁø±¸ °¡¾ßµ¿ ¤Ó °³ÀÎÁ¤º¸Ãë±Þ¹æħ
Copyright ¨Ï musictrot All rights reserved.