Bibi's DevLog ๐Ÿค“๐ŸŽ

[์ธํ”„๋Ÿฐ] Javascript์ž…๋ฌธ - ๊ฐ์ฒด๋ฅผ ํ™œ์šฉํ•ด ๊ตฌ๊ตฌ๋‹จ ๋‹ค์‹œ ๊ตฌํ˜„(์‹ค์Šต, ํ•ด์„ค) ๋ณธ๋ฌธ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ/Javascript ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ

[์ธํ”„๋Ÿฐ] Javascript์ž…๋ฌธ - ๊ฐ์ฒด๋ฅผ ํ™œ์šฉํ•ด ๊ตฌ๊ตฌ๋‹จ ๋‹ค์‹œ ๊ตฌํ˜„(์‹ค์Šต, ํ•ด์„ค)

๋น„๋น„ bibi 2020. 10. 19. 13:37

 

* ์ด ๊ธ€์€ ์ธํ”„๋Ÿฐ์—์„œ ์ œ๊ณตํ•˜๋Š” ํ˜ธ๋ˆ…์Šค๋‹˜์˜ ์œ ๋ฃŒ ๊ฐ•์˜ '์‰ฝ๊ณ  ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ฐฐ์›Œ๋ณด๋Š” Javascript ์ž…๋ฌธ - ์ฝ”๋“œ์Šค์ฟผ๋“œ ๋งˆ์Šคํ„ฐ์ฆˆ ์ฝ”์Šค ๋ ˆ๋ฒจ1'๋ฅผ ๋“ฃ๊ณ  ๊ณต๋ถ€ํ•˜๋ฉฐ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๊ฐ•์˜ ๋‚ด์šฉ์— ๋”ํ•ด, ์ œ๊ฐ€ ํ•„๊ธฐํ•˜๊ณ  ๊ตฌ๊ธ€๋งํ•œ ๋‚ด์šฉ์ด ์ •๋ฆฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ดˆ๋ณด์ธ ์ œ๊ฐ€ ์ดํ•ดํ•œ ๋Œ€๋กœ ์ •๋ฆฌํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋ถ€์ •ํ™•ํ•œ ๋‚ด์šฉ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Œ์„ ๊ฐ์•ˆํ•ด ์ฃผ์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ธํ”„๋Ÿฐ ์ธก ๋‹ต๋ณ€์„ ๋ฐ›์€ ์ ์ด ์žˆ์œผ๋‚˜(https://bibi6666667.tistory.com/37), ์ €์ž‘๊ถŒ์ƒ ๋ฌธ์ œ๊ฐ€ ๋œ๋‹ค๋ฉด ๋ณดํ˜ธ ๋ชจ๋“œ(๋น„๊ณต๊ฐœ)๋กœ ์ „ํ™˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

ํ•™์Šต ๋ชฉํ‘œ

  • ๊ฐ์ฒด์™€ ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ตฌ๊ตฌ๋‹จ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒฝํ—˜์„ ํ•œ๋‹ค.
    ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ํ”„๋กœํผํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๊ธฐ์กด์˜ ํ•จ์ˆ˜๋ฅผ ๋ฉ”์†Œ๋“œ๋กœ ๋ฐ”๊ฟ”๋ณด๊ธฐ.
  • ํ”„๋กœํผํ‹ฐ(์†์„ฑ) = ๊ฐ์ฒด์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋ƒ„
    ๋ฉ”์†Œ๋“œ = ๊ฐ์ฒด์˜ ํ–‰๋™์„ ๋‚˜ํƒ€๋ƒ„.

์š”๊ตฌ์‚ฌํ•ญ

  • main() ๋ฉ”์†Œ๋“œ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์‹œ์ž‘ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
  • ํ•จ์ˆ˜๋ฅผ ๊ตฌ๊ตฌ๋‹จ ๊ฐ์ฒด์˜ ๋ฉ”์†Œ๋“œ๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.

ํžŒํŠธ

  • gugudan ์ด๋ผ๋Š” ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  • gugudan ๊ฐ์ฒด์— ์•ž ๋‹จ๊ณ„์—์„œ ์ž‘์„ฑํ•œ ํ•จ์ˆ˜๋ฅผ ๋ฉ”์†Œ๋“œ๋กœ ์ถ”๊ฐ€ํ•œ๋‹ค.
  • ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•ด์„œ mainํ•จ์ˆ˜ ๋‚ด๋ถ€๋ฅผ ์ˆ˜์ •ํ•œ๋‹ค.
gugudan = {}
gugudan.calculate = function { 
// ... 
} 
functin main()

ํ•™์Šต ์ฐธ๊ณ ์ž๋ฃŒ

๊ฐ์ฒด - WEB2 Javascript - 30.๊ฐ์ฒด ์ฝ๊ธฐ์™€ ์“ฐ๊ธฐ / 31.๊ฐ์ฒด์™€ ๋ฐ˜๋ณต๋ฌธ / 32. ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์†Œ๋“œ

https://opentutorials.org/course/3085/18853

 

๊ฐ์ฒด - ์ƒํ™œ์ฝ”๋”ฉ

๊ฐ์ฒด 2017-11-28 23:32:58 ๊ฐ์ฒด์˜ ์“ฐ๊ธฐ์™€ ์ฝ๊ธฐ ๋ณ€๊ฒฝ์‚ฌํ•ญ ๊ฐ์ฒด์™€ ๋ฐ˜๋ณต๋ฌธ ๋ณ€๊ฒฝ์‚ฌํ•ญ ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์†Œ๋“œ ๋ณ€๊ฒฝ์‚ฌํ•ญ

opentutorials.org

 


๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ

(๊ธฐ์กด์˜ ๊ตฌ๊ตฌ๋‹จ_ํ•จ์ˆ˜ ํŒŒ์ผ ๋‚ด์šฉ์„ ํ™œ์šฉ)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>๊ตฌ๊ตฌ๋‹จ ์ „์ฒด ์ถœ๋ ฅ</h1>
<script>
    var gugudan = {}

    gugudan.calculate = function (x) {
        var ret = [];
        for (var i = 1; i <= 9; i++) {
            ret[i] = x * i;
        }
        console.log(ret);
        return ret;
    }

    gugudan.print = function (n, ret) {
        document.write("<h2>" + n + "๋‹จ</h2>")
        for (var i = 1; i <= ret.length - 1; i++) {
            var str = "";
            str += n + " ๊ณฑํ•˜๊ธฐ " + i + " ๋Š” " + ret[i] + "<br>";
            document.write(str)
        }
    }


    function main() {
        for (var n = 2; n <= 9; n++) {
            var results = gugudan.calculate(n);
            gugudan.print(n, results);
        }
    }

    main();

</script>
</body>
</html>

 

 

ํ•ด์„ค (์ฝ”๋”ฉ - ๊ฐ์ฒด๋ฅผ ํ™œ์šฉํ•œ ๊ตฌ๊ตฌ๋‹จ ๊ตฌํ˜„)

์ฝ”๋”ฉ์„ ํ•˜๊ธฐ ์ „์—..

  • ๊ฐ์ฒด ๋งŒ๋“ค๊ธฐ
    var human = {};
  • ํ”„๋กœํผํ‹ฐ ๋งŒ๋“ค๊ธฐ : ๊ฐ์ฒด์ด๋ฆ„.ํ”„๋กœํผํ‹ฐ์ด๋ฆ„ = ํ”„๋กœํผํ‹ฐ์˜ ๋‚ด์šฉ
    human.name = "crong"
    human.money = 10000
  • ๋ฉ”์†Œ๋“œ ๋งŒ๋“ค๊ธฐ
    human.work = function(hour) {
    //๋ฉ”์†Œ๋“œ ๋‚ด์šฉ
    }
  • this์˜ ์‚ฌ์šฉ
    ๊ฐ์ฒด์˜ ๋ฉ”์†Œ๋“œ ์•ˆ์—์„œ ์‚ฌ์šฉํ•ด, '๋‚˜' ์ฆ‰ ๊ฐ์ฒด ์ž์‹ ์„ ๊ฐ€๋ฆฌํ‚ด.
    ๋‹ค๋ฅธ ๋ฉ”์†Œ๋“œ๋‚˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ฐธ์กฐํ•  ๋•Œ ์‚ฌ์šฉ.
    human.work = function(hour) {
        this.money += 8530 * hour;
    }
  • ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ .
    - ์ฝ”๋“œ์˜ ์œ ์ง€.๋ณด์ˆ˜์— ์ข‹๋‹ค.
    - ๊ฐ€๋…์„ฑ์ด ๋†’์•„์ง„๋‹ค.

-> ์ผ๋‹จ์€ 'ํ•จ์ˆ˜'์— ์ต์ˆ™ํ•ด์ง€๋Š” ๊ฒƒ์ด ๋” ์ค‘์š”ํ•˜๋‹ค.

โ˜ ์ฝ”๋“œ๋ฅผ ์งค ๋•Œ๋Š” ๊ฐ€๋กœ 80์ค„์ด ๋„˜์–ด๊ฐ€์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
์ฝ”๋“œ๊ฐ€ ๊ฐ€๋กœ๋กœ ๋„ˆ๋ฌด ๊ธธ๋ฉด ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ.
๋ณ€์ˆ˜ ๋“ฑ์„ ์‚ฌ์šฉํ•ด line์ˆ˜๋ฅผ ๋Š˜๋ฆฌ๋”๋ผ๋„, ๊ฐ€๋กœ ๊ธธ์ด๊ฐ€ ๋„ˆ๋ฌด ๊ธธ์–ด์ง€์ง€ ์•Š๊ฒŒ ํ•ด์•ผ ํ•œ๋‹ค.
์˜›๋‚  ์ปดํ“จํ„ฐ์˜ ๋ชจ๋‹ˆํ„ฐ ๊ฐ€๋กœ ๊ธธ์ด๊ฐ€ 80์ค„๊นŒ์ง€ ์ถœ๋ ฅํ•ด ์ค€ ๋ฐ์„œ ์œ ๋ž˜.

๊ฐ์ฒด๋ฅผ ๋ฐฐ์› ์œผ๋‹ˆ..

console.log() -> console์ด๋ผ๋Š” ๊ฐ์ฒด์— log๋ผ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒƒ.
document.write() -> document ๋ผ๋Š” ๊ฐ์ฒด์— write๋ผ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒƒ์ด๋‹ค.

๐Ÿ‘‰Javascript๋ผ๋Š” ์–ธ์–ด๋Š” ํƒœ์ƒ์ ์œผ๋กœ html๋ฌธ์„œ๋ฅผ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ์–ธ์–ด์ด๋‹ค.
์›น ๋ฌธ์„œ๋“ค๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ฐ์ฒด, ํ”„๋กœํผํ‹ฐ, ๋ฉ”์†Œ๋“œ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— javascript๋ฅผ ํ†ตํ•ด ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ!

 

ํ•ด์„ค ์ฝ”๋“œ (์ •๋‹ต)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>๊ตฌ๊ตฌ๋‹จ ์™„๊ฒฐํŽธ</h1>
<script>
    gugudan = {};
    gugudan.result = [];
    gugudan.current = -1; // ์—ฌ๊ธฐ์— ๋งˆ์ง€๋ง‰์œผ๋กœ ๊ณ„์‚ฐํ•œ ๋‹จ์˜ ์ •๋ณด๊ฐ€ ๋“ค์–ด๊ฐ„๋‹ค.

    gugudan.calculate = function(n) {
        this.current = n; // gugudan.current์— ํ˜„์žฌ ๊ณ„์‚ฐํ•˜๋Š” ๋‹จ์˜ ์ •๋ณด๋ฅผ ๋„ฃ๋Š”๋‹ค.
        for (var i = 0; i < 9; i++) {
            this.result[i] = n * (i + 1);
        }
    }

    gugudan.print = function(){
        document.write("<h2>" + this.current + "๋‹จ</h2>");
        for (var i = 0; i < 9; i++){
            var x = this.current;
            var y = i + 1;
            var z = this.result[i];
            document.write(x + "*" + y + "=" + z + "<br>");
        }
    }

    function main(){
        for (var i = 2; i <= 9; i++) {
            gugudan.calculate(i);
            gugudan.print();
        }
    }

    main();
</script>
</body>
</html>

๋‚ด ์ฝ”๋“œ์™€ ๋‹ค๋ฅธ ์ 

- ํ˜„์žฌ ๊ณ„์‚ฐ์ค‘์ธ ๋‹จ์˜ ์ •๋ณด๋ฅผ ๋„ฃ๋Š” ํ”„๋กœํผํ‹ฐ gugudan.current ๊ฐ€ ์žˆ๋‹ค.
.calculate์—์„œ ๊ณ„์‚ฐํ•˜๊ธฐ ์ „์— gugudan.current์— ๊ฐ’์„ ๋„ฃ๊ณ ,
.print์—์„œ ์ถœ๋ ฅํ•  ๋•Œ ํ˜„์žฌ ๊ณ„์‚ฐํ•œ ๋‹จ์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์™€์„œ ์ถœ๋ ฅํ•œ๋‹ค!

-.print์—์„œ
๊ฒฐ๊ณผ ์ถœ๋ ฅ์— ํ•„์š”ํ•œ ์ฝ”๋“œ๊ฐ€ ๋„ˆ๋ฌด ๊ธธ์–ด์ง€์ž ๋ณ€์ˆ˜ x,y,z๋ฅผ ํ™œ์šฉํ•ด ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ๋†’์ด๊ณ  ๊ธธ์ด๋ฅผ ์ค„์˜€๋‹ค.

-.calculate์—์„œ ๋งค๋ฒˆ ์ •์˜ํ•ด ์“ฐ๋˜ ret๋ฐฐ์—ด์„ gugudan.result๋ผ๋Š” ๊ฐ์ฒด ํ”„๋กœํผํ‹ฐ๋กœ ์ •์˜ํ•˜๊ณ 
ํ•„์š”ํ•  ๋•Œ this.result ๋กœ ๋ถˆ๋Ÿฌ์™€ ์‚ฌ์šฉํ•œ๋‹ค.