[자바스크립트] 2022.01.24(월) 코드정리

Whatever·2022년 1월 26일
0

자바스크립트

목록 보기
5/24

js정리1.html

<!DOCTYPE html>
<meta charset="UTF-8">
<script>
"use strict"   // 엄격 모드 적용
    //KGB="KGB"; // 이걸 에러 나게 하는 방법은?

aaa(); // 멋진 말로 호이스팅(hoisting)이라고 함
// 선언부만 위로 끌어올려 자그마한 성능향상을 꾀함

function aaa(){
    alert("너구리 이거 실행됨?");
}

    //추세가 백엔드를 이해하는 FrontEnd 엔지니어가 돈을 많이 벎
    //js를 대체할 언어는 없다

//정리 시작1
//자바스크립트는 동적언어다.
//데이타형이 자동 할당된다
/* null, undefined, array, json
 var aaa = "안녕";
alert(typeof(aaa));    
var bbb = 272;
alert(typeof(bbb));
var ccc
alert(typeof(ccc));
 */

// ""은 false 그외는 true
// 0은 false 그외는 true

/* 
if(""){
    alert("사실이얌!!");
}else{
    alert("거짓인가봐");
}
 */

/* 암묵적 형변환에 주의 
var js="0"; //parseInt를 안쓰고 숫자로 변환하려면?
// alert(js + 111); // 더하기는 2가지 문자열더하기 숫자더하기(문자열 우선)
js = js - 0;
alert(typeof(js));
 */


</script>

js정리2.html

<!DOCTYPE html>
<meta charset="UTF-8">
<script>
    // JSON(JavaScript Object Notation) - 너무 중요해서 입이 쩍 벌어짐
    // 제이슨 스타뎀
    // XML(이전 데이터 전송 포맷)
    var v_name="반장";
    /* 
    var o_rose = {
        name:v_name,
        alias:"Gone",
        jh:function(){
            alert("중호 찍기 왕");
        }
    }; // 빈 객체(json) 생성
    o_rose.jh();
 */
    var o_roze = {}
    // o_roze.name = v_name;
    o_roze["name"] = v_name; // 배열식 표기법, 꼭 알아두어야 함
    o_roze["alias"] = "Gone";
    // o_roze.alias="Gone";
    o_roze.jh = function(p_msg){
        alert(this.alias + p_msg);
    }

    o_roze.jh("왕왕왕"); // ?
    // alert(o_rose.name); // 확인 key는 안되는데, value는 변수처리

</script>

JSA.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>안녕 짱</h1>
</body>
</html>

복사와참조.html

<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<script>
    // 복사와 참조 (이걸 모르면 개발자 아님)
    var v_aa = 2;
    var v_bb = v_aa;
    v_bb++;
    // alert(v_aa); //? 변화 없음 값의 copy라서

    var v_obj1 = {
        num: 272
    }

    // var v_obj2 = v_obj1;
    // ++v_obj2.num;
    // alert(v_obj1.num) // ? 272, 이것은 참조(reference)

    /* 
    var v_arr1 = [1,2,3];
    alert(typeof(v_arr1));
    var v_arr2 = v_arr1;
    v_arr2[2] = "진석이 만세";

    alert(v_arr1[2]); //?
    */

    /*  
    var v_js = "진석";
    var v_js2 = v_js;
    v_js2 = "만만세";
    alert(v_js); //? string은 원시타입이 맞는데, .을 붙여서 사용하는 순간
                // 내부적(암묵적)으로 Wraper 객체로 바꿈 
    */

    
    var v_js = "진석";
    var v_js2 = v_js;
    v_js2 = "만만세";
    alert(v_js.length); //? string은 원시타입이 맞는데, .을 붙여서 사용하는 순간
                // 내부적(암묵적)으로 Wraper 객체로 바꿈            

</script>  

동적객체.html

<!DOCTYPE html>
<meta charset="UTF-8">
<script>
    var v_obj = {name:"로제"} // 이런 건 정적(static) 객체
    //js에서 function 키워드는 java의 class키워드 역활도 함당!

    var MyArray = function(){
        this.length=0;
    }
    MyArray.prototype.push=function(p_val){
        this[this.length] = p_val;
        this.length = this.length+1;
    }

    var v_arr1 = []
    v_arr1[v_arr1.length] = 1;
    v_arr1[v_arr1.length] = 2;
    v_arr1[v_arr1.length] = 3;
    v_arr1[v_arr1.length] = 4;
    alert(v_arr1);
    
    /*
    var v_arr = new MyArray(); // 동적객체 생성
    v_arr.push(272);
    v_arr.push(337);
    console.log(v_arr);
    alert(v_arr[1]);
    */
</script>

0개의 댓글