본문 바로가기

웹개발관련/javascript 관련 정리

자바스크립트

 

function addNumWithArgs(){
        let sum=0;
        console.log(arguments);
        for(let i=0;i<arguments.length;i++){
            sum+=arguments[i];
        }
        return sum;
    }
    console.log(addNumWithArgs(3,4,5,3,7));
    //출력 22
 
 
        //프로토타입을 먼저 정의하고 접근할때
        function testpro(){
            this.name2="test2"
        }
        testpro.prototype.name3="test5"
        let testpro2=new testpro()
        console.log(testpro.name3) //undefind
        console.log(testpro2.name3) // test5 출력
 
   
        //객체로 프로토타입 접근 예시
        let testproVel={
            name:"건빵이",
            id:1234
        }
        let testproVel2 = clone(testproVel) //clone == 객체 내용 복사하는 메소드 반복문으로 구현
        testproVel.name3=function(){
                console.log(this.name,this.id,"미춰버리겠으")
            }
        testproVel2.__proto__.name4="test"
        console.log(testproVel2.name4)  //test 출력
        console.log(testproVel.name4)  //test 출력
        // testproVel2.name3() //함수가 없다고 인식
       
        //객체를 수작업으로 복사하는 메소드 만듬
        function clone(obj) {
        var clon = {};
        for (let i in obj) {
            if (obj[i] != null && typeof obj[i] === "object") {
            clon[i] = clone(obj[i]); // resursion
            } else {
            clon[i] = obj[i];
            }
        }
        return clon;
        }