JQ에서 extend

1415 단어

$.extend 사용 방법

  • extend의 역할은 두 개 이상의 대상의 내용을 첫 번째 대상에 통합시킨다.
  • 함수 원형
  • jQuery.extend( [deep ], target, object1 [, objectN ] )
    

    그중의 deep는boolean 값이고true는 깊은 복사를 의미하며 target은 어느 대상에 통합되는지 의미하며, 뒤의object는 통합된 대상을 의미하며, extend의 결과는 모든 속성을 통합한 대상을 되돌려줍니다. 같은 속성 이름이 존재하면, 통합된 대상의 속성 값은 앞에 통합된 속성 값을 대체합니다.

    예.

  • 예일(기존 대상 합병)
  • obj1={
      name:"kevin",
      age:"185",
      arr:[1,2,3]
    };
    
    obj2={
      name:"adam",
      address:"    "
    };
    
    var obj3=$.extend(obj1,obj2);
    console.log(obj3);
    //  :
    //[object Object] {  address: "    ",  age: "185",  arr: [1, 2, 3],  name: "adam"}
    //obj3==obj1//true
    //obj1//[object Object] {  address: "    ",  age: "185",  arr: [1, 2, 3],  name: "adam"}
    
  • 예2(새 대상, 얕은 복사)
  • obj1={
      name:"kevin",
      age:"185",
      arr:[1,2,3]
    };
    
    obj2={
      name:"adam",
      address:"    "
    };
    
    var obj3=$.extend({},obj1,obj2);
    console.log(obj3===obj1);//false
    console.log(obj3.arr===obj1.arr)//true
    
  • 예3(새 객체, 깊이 복사)
  • obj1={
      name:"kevin",
      age:"185",
      arr:[1,2,3]
    };
    
    obj2={
      name:"adam",
      address:"    "
    };
    
    var obj3=$.extend(true,{},obj1,obj2);
    console.log(obj3===obj1);//false
    console.log(obj3.arr===obj1.arr);//false
    

    좋은 웹페이지 즐겨찾기