c o d i n g . . ๐Ÿ‰/JavaScript

[JavaScript] ๋‚ด๊ฐ€ ๋ณด๋ ค๊ณ  ์ •๋ฆฌํ•œ Do it ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธํŽธ(3)

H J 2021. 3. 26. 03:41

5์žฅ

 

๐Ÿฎํ•จ์ˆ˜๐Ÿฎ

 

ํ•จ์ˆ˜ ์„ ์–ธ

function addNum(a,b){
    return a+b;
}

ํ•จ์ˆ˜ ์„ ์–ธ๊ณผ ํ˜ธ์ถœ ์œ„์น˜์— ๊ด€๊ณ„์—†์ด ๋ชจ๋‘ ์‹คํ–‰๋œ๋‹ค

 

์ต๋ช… ํ•จ์ˆ˜

var add=function(a,b){
    return a+b;
}

var num1=parseInt(prompt('์ฒซ ๋ฒˆ์งธ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์‹œ์˜ค'));
var num2=parseInt(prompt('๋‘ ๋ฒˆ์งธ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์‹œ์˜ค'));

//parseInt๋Š” ๋ฌธ์ž์—ด๋กœ ์ž…๋ ฅ๋ฐ›์€ ๊ฒƒ์„ ์ •์ˆ˜๋กœ ๋ณ€ํ™˜

var result=add(num1, num2);
console.log(sum);

ํ•จ์ˆ˜ ์ž์ฒด๊ฐ€ ์‹์ด๊ธฐ ๋•Œ๋ฌธ์— ์ต๋ช… ํ•จ์ˆ˜๋ฅผ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค

 

์ฆ‰์‹œ ์‹คํ–‰ ํ•จ์ˆ˜

var sum=(function(a,b){
    return a+b;
}(10,20));

/*
์ด๋ ‡๊ฒŒ๋„ ๊ฐ€๋Šฅ
var sum=(function(a,b){
    return a+b;
})(10,20);
*/

console.log(sum);

๐Ÿฎ์ด๋ฒคํŠธ๐Ÿฎ

์–ด๋–ค ๋™์ž‘!

 

  • ๋งˆ์šฐ์Šค ์ด๋ฒคํŠธ
    • click
    • dbclick: ๋”๋ธ” ํด๋ฆญํ–ˆ์„ ๋•Œ
    • mousedown: ์š”์†Œ๋ฅผ ํด๋ฆญํ•˜๋Š” ๋™์•ˆ
    • mousemove: ์š”์†Œ์—์„œ ํฌ์ธํ„ฐ๊ฐ€ ์›€์ง์ด๋Š” ๋™์•ˆ
    • mouseover: ํฌ์ธํ„ฐ๊ฐ€ ์š”์†Œ๋กœ ์˜ฎ๊ฒจ์งˆ ๋•Œ
    • mouseout: ํฌ์ธํ„ฐ๊ฐ€ ์š”์†Œ๋ฅผ ๋ฒ—์–ด๋‚  ๋•Œ
    • mouseup: ๋งˆ์šฐ์Šค ๋ฒ„ํŠผ์—์„œ ์†์„ ๋—„ ๋•Œ
  • ํ‚ค๋ณด๋“œ ์ด๋ฒคํŠธ
    • keypress: ํ‚ค ๋ˆŒ๋ €์„ ๋•Œ
    • keydown: ํ‚ค๋ฅผ ๋ˆ„๋ฅด๋Š” ๋™์•ˆ
    • keyup: ํ‚ค์—์„œ ์†์„ ๋—„ ๋•Œ
  • ๋ฌธ์„œ ๋กœ๋”ฉ ์ด๋ฒคํŠธ
    • abort: ์›น ๋ฌธ์„œ ๋กœ๋”ฉ ์ „ ์ •์ง€๋์„ ๋•Œ
    • error: ๋กœ๋”ฉ x
    • load: ๋กœ๋”ฉ ๋๋‚  ๋•Œ
    • resize: ํ™”๋ฉด ํฌ๊ธฐ ๋ฐ”๋€Œ์—ˆ์„ ๋•Œ
    • scroll: ์Šคํฌ๋กค๋˜์—ˆ์„ ๋•Œ
    • unload: ๋ฌธ์„œ ๋ฒ—์–ด๋‚  ๋•Œ
  • ํผ ์ด๋ฒคํŠธ
    • blur: ํผ ์š”์†Œ ํฌ์ปค์Šค ์žƒ์—ˆ์„ ๋•Œ
    • change: ์ƒํƒœ ๋ณ€๊ฒฝ๋์„ ๋•Œ
    • focus: ํผ ์š”์†Œ์— ํฌ์ปค์Šค ๋†“์˜€์„ ๋•Œ
    • reset: ๋‹ค์‹œ ์‹œ์ž‘๋์„ ๋•Œ
    • submit: submit ๋ฒ„ํŠผ ๋ˆŒ๋ €์„ ๋•Œ

์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ๊ธฐ= 'on'

์ด๋ฒคํŠธ ๋ช… ์•ž์— on์„ ๋ถ™์ด๋ฉด ๊ทธ๋‹ค์Œ์˜ ๋ช…๋ น์ด๋‚˜ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•œ๋‹ค

 

๋”๋ณด๊ธฐ

**๊ฐ‘์ž๊ธฐ ์‹ค์Šตํ•˜๋‹ค๊ฐ€ ์ƒ๊ฐ๋‚œ ๊ฒƒ!**

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ๋”ฐ์˜ดํ‘œ๋ฅผ ์ค‘๋ณตํ•ด์„œ ์จ์•ผ ํ•˜๋Š” ์ƒํ™ฉ์—์„œ๋Š” ๊ฒ‰์˜ ๋”ฐ์˜ดํ‘œ์™€ ์•ˆ์˜ ๋”ฐ์˜ดํ‘œ๋Š” ์ค‘๋ณต๋  ์ˆ˜ ์—†๋‹ค

 

ex)

<button class="over" id="open" onclick="alert('๋ˆŒ๋ €์Šต๋‹ˆ๋‹ค')">์ƒ์„ธ ์„ค๋ช… ๋ณด๊ธฐ</button>
//์œ„์™€ ๊ฐ™์ด
//"alert('๋ˆŒ๋ €์Šต๋‹ˆ๋‹ค')"์—์„œ ๊ฒ‰์€ ", ์•ˆ์€ '

 

์ด ๋’ค๋กœ ํ•œ ์‹ค์Šต์€ ๋”ฐ๋กœ ์ •๋ฆฌํ•˜์ง€ ์•Š์„ ๊ฑฐ์ž„!

๋ณ€์ˆ˜์— document.querySelector("#id") ํ• ๋‹นํ•ด์ฃผ๊ณ  ๊ฐ ์ด๋ฒคํŠธ๋งˆ๋‹ค ์ต๋ช… ํ•จ์ˆ˜ ์‚ฌ์šฉํ•ด์ฃผ๋ฉด ๋จ!

 

์†์„ฑ์—์„œ style ํƒœ๊ทธ ์‚ฌ์šฉํ•ด์„œ ์„ค์ •ํ•œ ๋’ค์— ์ดˆ๊ธฐํ™”์‹œํ‚ค๋ ค๋ฉด ""๋งŒ ์“ฐ๋ฉด ๋จ


6์žฅ

 

๐Ÿฎ๊ฐ์ฒด๐Ÿฎ

 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” '๊ฐ์ฒด ๊ธฐ๋ฐ˜ ์–ธ์–ด'

ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜์— ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ๋‹ด๊ธฐ ์œ„ํ•ด ์ˆซ์ž, ๋ฌธ์ž์—ด ๋“ฑ ์—ฌ๋Ÿฌ ์ž๋ฃŒํ˜•์ด ํฌํ•จ๋จ(๋ณตํ•ฉ ์ž๋ฃŒํ˜•)

 

 

๊ฐ์ฒด ์ข…๋ฅ˜

 

  • ๋‚ด์žฅ ๊ฐ์ฒด: ๋ฏธ๋ฆฌ ์ •์˜๋˜์–ด์žˆ๋Š” ๊ฐ์ฒด(Date, Number, Boolean, Array, Math,...)
    • ๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ(DOM): ์›น ๋ฌธ์„œ๋ฅผ ๊ฐ์ฒด๋กœ ๊ด€๋ฆฌ(Document, Image,...)
    • ๋ธŒ๋ผ์šฐ์ € ๊ฐ์ฒด ๋ชจ๋ธ: ์›น ๋ธŒ๋ผ์šฐ์ € ์ •๋ณด๋ฅผ ๊ฐ์ฒด๋กœ ๊ด€๋ฆฌ(Nagatior, History, Location, Screen,...)
  • ์‚ฌ์šฉ์ž ์ •์˜ ๊ฐ์ฒด: ์ง์ ‘ ๊ฐ์ฒด ์ •์˜
var book = {
	title: "์ฑ… ์ด๋ฆ„",
    pages: 500
}

 

 

์†์„ฑ ๐Ÿ’จ  ์†์„ฑ์„ ํ™•์ธํ•  ๋•Œ๋Š” ๊ฐ์ฒด ์ž…๋ ฅ ํ›„ ๋งˆ์นจํ‘œ(.) ์ฐ์œผ๋ฉด ๋จ

 

๋ฉ”์„œ๋“œ ๐Ÿ’จ  window ์ž…๋ ฅ ํ›„ ์—”ํ„ฐ ๋ˆ„๋ฅด๋ฉด window ๊ฐ์ฒด์˜ ๋ฉ”์„œ๋“œ ํ™•์ธ ๊ฐ€๋Šฅ(์‚ฌ์šฉํ•˜๋Š” ๋ฒ•์€ ์†์„ฑ๊ณผ ๊ฐ™์Œ)

 

 

๊ฐ์ฒด์˜ ๊ธฐ๋ณธ ํ‹€์„ 'ํ”„๋กœํ† ํƒ€์ž…'์ด๋ผ๊ณ  ํ•˜๊ณ  ํ”„๋กœํ† ํƒ€์ž…์„ ์‚ฌ์šฉํ•ด์„œ ๋งŒ๋“  ๊ฐ์ฒด๋ฅผ '์ธ์Šคํ„ด์Šค'(๊ฐœ๋ณ„ ๊ฐ์ฒด)๋ผ๊ณ  ํ•จ

now = new Date() //new ์˜ˆ์•ฝ์–ด๋ฅผ ์‚ฌ์šฉํ•ด์„œ Date ๊ฐ์ฒด์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค๊ณ  now ๋ณ€์ˆ˜์— ์ €์žฅ
now //now๋Š” Date ๊ฐ์ฒด์˜ ์ธ์Šคํ„ด์Šค! Date์˜ ๋ชจ๋“  ์†์„ฑ๊ณผ ํ•จ์ˆ˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

 

๋”๋ณด๊ธฐ

 ๋‚œ์ˆ˜ ์ƒ์„ฑ

Math.floor(Math.random()*100+1)

 

์‚ฌ์šฉ์ž ์ •์˜ ๊ฐ์ฒด ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• 

 

  • ๋ฆฌํ„ฐ๋Ÿด ํ‘œ๊ธฐ๋ฒ•

: ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋ฉฐ ๋™์‹œ์— ๊ฐ’์„ ์ง€์ •ํ•˜๋Š” ํ‘œ๊ธฐ ๋ฐฉ์‹

var book = {
	// ๊ฐ’ ์ง€์ •ํ•ด์ค„ ๋•Œ : ์‚ฌ์šฉ + ,๋กœ ๊ตฌ๋ถ„
    title: "์ฑ… ์ด๋ฆ„",
    pages: 500,
    info: function(){
        alert(this.title+" ์ฑ…์˜ ๋ถ„๋Ÿ‰์€ "+this.pages+"์ชฝ ์ž…๋‹ˆ๋‹ค.");
    }
}

//์†์„ฑ ์ถ”๊ฐ€ํ•ด์ฃผ๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ ์†์„ฑ ์ถ”๊ฐ€ ํ›„ ๊ฐ’ ๋„ฃ๊ธฐ
book.field="IT"

 

  • ์ƒ์„ฑ์ž ํ•จ์ˆ˜

: ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด ๋‚ด๋Š” ํ•จ์ˆ˜

๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•ด์•ผ ํ•จ!

* ์ƒˆ ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค์–ด ์ค˜์•ผ ์‚ฌ์šฉ๊ฐ€๋Šฅ! (ํ˜•์‹๋งŒ ๋งŒ๋“ค์–ด์ค€ ๋Š๋‚Œ)

// ๊ฐ’ ์ง€์ •ํ•ด ์ค„ ๋•Œ = ์‚ฌ์šฉ + this๋Š” Book ๊ฐ์ฒด ์˜๋ฏธ
function Book(author, pages, price, title){
    this.author=author;
    this.pages=pages;
    this.price=price;
    this.title=title;
    // ํ•จ์ˆ˜
    this.func=function(){
    	alert("ํ•จ์ˆ˜์ž„");
    }
}

// new ์˜ˆ์•ฝ์–ด๋ฅผ ํ†ตํ•ด ์ƒˆ ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค์–ด ์ค˜์•ผ ์‚ฌ์šฉ๊ฐ€๋Šฅ
var Book_1 = new Book("์ €์ž", 500, 15000, "์ฑ… ์ œ๋ชฉ");

 

 

Date ๊ฐ์ฒด์— ๋Œ€ํ•ด (๋” ์ž์„ธํžˆ ๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด ๋”๋ณด๊ธฐ ๋ˆ„๋ฅด๊ธฐ!)

๋”๋ณด๊ธฐ

ํ˜„์žฌ ๋‚ ์งœ ์ •๋ณด ๊ฐ–๋Š” Date ๊ฐ์ฒด ๋งŒ๋“ค๊ธฐ

new Date();

 

ํŠน์ • ๋‚ ์งœ, ์‹œ๊ฐ„ ์ •๋ณด ๊ฐ–๋Š” Date ๊ฐ์ฒด ๋งŒ๋“ค๊ธฐ

// ์—ฐ๋„, ์›” ์ง€์ • -> ํ•ด๋‹น ์›”์˜ 1์›” 9์‹œ
new Date("2000-10")

// ์—ฐ๋„, ์›”, ์ผ ์ง€์ • -> ํ•ด๋‹น ๋‚ ์งœ์˜ 9์‹œ
new Date("2000-10-11")

// ์—ฐ๋„, ์›”, ์ผ, ์‹œ๊ฐ„ ์ง€์ • *(์ผ)T์‹œ๊ฐ„ ๊ผญ ๋ถ™์—ฌ์จ์•ผ ํ•˜๋Š” ๋“ฏ!
new Date("2000-10-11T18:00:00")

// ๊ตญ์ œ ํ‘œ์ค€์‹œ (Z ๋ถ™์ด๊ธฐ)
new Date("2000-10-11T18:00:00Z")

 

๋‚ ์งœ ํ‘œํ˜„ ๋ฐฉ์‹

  • YYYY-MM-DDTHH:MM:SS (์ผ๊นŒ์ง€ ์ง€์ •ํ–ˆ์„ ๋•Œ ์ด ํ‘œ๊ธฐ๋ฒ•๋งŒ 9์‹œ ๋‚˜๋จธ์ง€๋Š” 00์‹œ)
  • MM/DD/YY
  • MMM DD YYYY(์›”์€ ์˜์–ด๋กœ ์ž‘์„ฑ)

ํ•จ์ˆ˜๋Š” get(๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ), set(๊ฐ’ ์„ค์ •ํ•˜๊ธฐ)์œผ๋กœ ๋‚˜๋‰จ

(* Month์™€ Day๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘๋จ - ์ผ์›”ํ™”์ˆ˜๋ชฉ๊ธˆ)

// ์ด๋Ÿฐ ์‹์œผ๋กœ ์‚ฌ์šฉ
var now = new Date()

now.getYear()

 

๋!! ํ† ์š”์ผ์— ์Šคํ„ฐ๋””,, ๋‚ด์ผ์€ ์„œ์šธ ๊ฐ€๋Š” ๋‚ ,, ๋‚ด์ผ ๊ฐ”๋‹ค์™€์„œ 7์žฅ ํ•ด์•ผ๋œ๋‹ค...