λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

ν”„λ‘œκ·Έλž˜λ° 곡뢀/JavaScript

[ex06~08] scope, casting, string

ex06

 

λ³€μˆ˜ μ˜μ—­ 
            1. μ „μ—­ λ³€μˆ˜ > HTML νŽ˜μ΄μ§€ μ „μ—­ > μ„ μ–Έλ¬Έ μ‹€ν–‰(생성) ~ νŽ˜μ΄μ§€ μ’…λ£Œ(μ†Œλ©Έ)
            2. μ§€μ—­ λ³€μˆ˜ > λΈ”λŸ­ μ˜μ—­ λ³€μˆ˜(X), ν•¨μˆ˜ μ˜μ—­ λ³€μˆ˜(O), ν•¨μˆ˜λ§Œ μ§€μ—­μœΌλ‘œ μΈμ‹ν•˜κ³ , μ œμ–΄λ¬Έμ„ μΈμ‹ν•˜μ§€ λͺ»ν•œλ‹€.

 

    <script>

        var num1 = 100; //μ „μ—­ λ³€μˆ˜. <script> νƒœκ·Έλ‚΄μ—μ„œ 직접 μ„ μ–Έ
        
        function m1() {
            var num2 = 200; //μ§€μ—­ λ³€μˆ˜. m1
            console.log('m1', num2); //μ§€μ—­λ‚΄ + μ§€μ—­λ³€μˆ˜ μ ‘κ·ΌO
            console.log('m1', num1); //μ§€μ—­λ‚΄ + μ „μ—­λ³€μˆ˜ μ ‘κ·ΌO

            if (true) {
                var num3 = 300; //μ§€μ—­ λ³€μˆ˜. if문의 λ³€μˆ˜X, m1λ³€μˆ˜(O)
                console.log('if', num3);
            }

            //μžλ°”μ—μ„œλŠ” μ•ˆλ˜μ§€λ§Œ μžμŠ€λŠ” 됨
            console.log('m1', num3);
        }

        m1();

        // console.log('μ „μ—­', num2); //m2 is not defined
        // console.log('μ „μ—­', num3); //m3 is not defined
        
        var a = 10;
        var a = 20; //μž¬μ •μ˜(O) > κ°€λŠ₯ν•˜μ§€λ§Œ ν•˜μ§€λ§κ²ƒ!!
        console.log('a', a);
        
        var b = 30;
        c = 40; //λ³€μˆ˜ μ„ μ–Έλ¬Έ(var)을 μ‚¬μš©ν•˜μ§€ μ•Šκ³ , λ³€μˆ˜ 생성이 κ°€λŠ₯ν•˜λ‹€. μ‚¬μš© κΈˆμ§€!!
        console.log('c', c);
        
        
        function m2() {
            e = 60; //var 선언문을 μ‚¬μš©ν•˜μ§€ μ•Šμ€ λ³€μˆ˜λŠ”, μ„ μ–Έ μœ„μΉ˜ 무관 > μ „μ—­ λ³€μˆ˜!! (μ‚¬μš© κΈˆμ§€)
        }
        m2();
        console.log(e); //싀행됨...

    </script>

ex07

 

ν˜•λ³€ν™˜

1. number parseInt(value) 

2. number parseFloat(value)

*** 숫자둜 μ‹œμž‘ν•˜λŠ” λ¬Έμžμ—΄λ„ 숫자둜 μΆ”μΆœ(맨 μ•ž 숫자만)

        var n1 = 3.14;
        console.log(parseInt(n1)); //3

        n1 = 3.99;
        console.log(parseInt(n1)); //3

        var n2 = '300';
        console.log(parseInt(n2), typeof parseInt(n2)); //number
        console.log(n2, typeof n2); //string
        
		var n3 = 100;
        console.log(parseFloat(n3)); //100 

        var n4 = '3.14';
        console.log(parseFloat(n4)); //3.14
        
        
        //*** 숫자둜 μ‹œμž‘ν•˜λŠ” λ¬Έμžμ—΄ > 첫 숫자 μΆ”μΆœ
        var n5 = '100점';
        console.log(parseInt(n5)); //100

        var n6 = '점수100';
        console.log(parseInt(n6)); //NaN (Not a Number)

        var n7 = '100점이 μ•„λ‹ˆλΌ 50μ μž…λ‹ˆλ‹€.';
        console.log(parseInt(n7)); //100
        
        //JavaScript > CSS μ‘°μž‘
        var width = '200px';
        console.log(width + 100); //200px100 (μ—°μ‚° μ•ˆ 됨)
        console.log(parseInt(width) + 100); //300

 

boolean isNaN(value)
 - is not a number?
 - valueκ°€ μˆ«μžκ°€ μ•„λ‹™λ‹ˆκΉŒ?
 - μžλ£Œν˜• 검사(X), 데이터 ν˜•μ‹λ§Œ 검사(O)

 

        //μ‚¬μš©μž μž…λ ₯ > <input type="text"> : λ‚˜μ΄ μž…λ ₯
        var age = '20';

        if (isNaN(age)) {
            // console.log(1);
            console.log('λ‚˜μ΄κ°€ μ˜¬λ°”λ₯΄μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.')
        } else {
            // console.log(2);
            console.log('μ˜¬λ°”λ₯Έ λ‚˜μ΄λ₯Ό μž…λ ₯ν–ˆμŠ΅λ‹ˆλ‹€.')
        }
        
    //κ²°κ³Ό: μ˜¬λ°”λ₯Έ λ‚˜μ΄λ₯Ό μž…λ ₯ν–ˆμŠ΅λ‹ˆλ‹€.

ex08

 

1. λ¬Έμžμ—΄ 길이

txt.length

2. 검색

indexOf()

lastIndexOf()

3. λŒ€μ†Œλ¬Έμž λ³€ν™˜

toUpperCase()

toLowerCase()

4. μΆ”μΆœ

substring()

substr() : λ‘λ²ˆμ¨° 숫자 > index μ•„λ‹Œ κ°œμˆ˜

charAt() 

charCodeAt : 문자 μ½”λ“œκ°’ μΆ”μΆœ

//λ¬Έμžμ—΄ ν•¨μˆ˜
var txt = 'Hello~ Hong~';

//1. λ¬Έμžμ—΄ 길이
console.log(txt.length); //μžλ°”(field), 자슀(property)

//2. 검색
//- indexOf()
//- lastIndexOf()
console.log(txt.indexOf('~')); //5
console.log(txt.indexOf('~', 6)); //11
console.log(txt.lastIndexOf('~'));//11

//3. λŒ€μ†Œλ¬Έμž λ³€ν™˜
console.log(txt.toUpperCase()); //HELLO~ HONG~
console.log(txt.toLowerCase()); //hello~ hong~

//4. μΆ”μΆœ
console.log(txt.substring(2, 8)); //llo~ H
console.log(txt.substring(2)); //llo~ Hong~

//substr: λ’€ μˆ«μžκ°€ index μ•„λ‹Œ 개수
console.log(txt.substr(2, 4)); //llo~ Hon

console.log(txt.charAt(2)); //문자 μΆ”μΆœ
console.log(txt.charCodeAt(2)); //문자 μ½”λ“œκ°’ μΆ”μΆœ

 

5. μΉ˜ν™˜(***)

- μ²˜μŒ λ§Œλ‚˜λŠ” μš”μ†Œλ§Œ μΉ˜ν™˜ν•œλ‹€.(반볡X)
- μ •κ·œ ν‘œν˜„μ‹ μ‚¬μš© > 반볡

txt = 'Hello~ Hong~ Bye~ Hong~';
console.log(txt.replace('Hello', 'Hi')); //Hi~ Hong~ Bye~ Hong~
console.log(txt.replace('Hong', 'Lee')); //Hello~ Lee~ Bye~ Hong~

console.log(txt.replace(/Hong/g, 'Lee')); //Hello~ Lee~ Bye~ Lee~

 

6. 곡백 제거

txt = '       ν•˜λ‚˜      λ‘˜     μ…‹      ';
console.log(txt.trim());

 

7. λΆ„ν• 

txt = '홍길동,μ•„λ¬΄κ°œ,ν•˜ν•˜ν•˜,호호호,ν›„ν›„ν›„';
console.log(txt.split(',')) //(5) ['홍길동', 'μ•„λ¬΄κ°œ', 'ν•˜ν•˜ν•˜', '호호호', 'ν›„ν›„ν›„']

 

8. 검색

txt = '홍길동';
console.log(txt.startsWith('홍')); //true
console.log(txt.endsWith('동')); //true

 

 

'ν”„λ‘œκ·Έλž˜λ° 곡뢀 > JavaScript' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[ex15~16] Attribute, images  (0) 2023.04.21
[ex13~14] Mouse Event, Key Event  (0) 2023.04.21
[ex11~] BOM, event  (0) 2023.04.21
[ex09~10] Date, Array  (0) 2023.04.21
[ex02~05] JavaScript  (0) 2023.04.20