코드/JS

jQuery.extend

Yeah-Panda 2013. 6. 27. 10:50


 

서로 다른 object 혹은 플러그인 작성 시 default object를 정의해 두고 사용자가 임의로 options 값을 주었을 때 default로 정의 된 object의 값을 options의 값으로 merge 하는데 용이하게 사용됩니다.

 


 

------------------------------------------------------------------------------------------------

 

var object1 = { apple : 0,  banana : {weight : 52, price : 100}, cherry : 97 };
var object2 = { banana : {price : 200},  durian : 100 };
$.extend(object1, object2);

 

 

# 결과 (object2 의 값이 object1의 값을 덮어쓰며 병합되었습니다.)

object1 = { apple: 0, banana: { price: 200 }, cherry: 97, durian: 100 };

 

------------------------------------------------------------------------------------------------

 

var object1 = {  apple: 0,  banana: {weight: 52, price: 100},  cherry: 97};
var object2 = {  banana: {price: 200},  durian: 100};
$.extend(true, object1, object2);


# 결과 (object2 과 object1이 병합되었으나 object1의 원본 값을 그대로 유지하며 병합되었습니다.)

object1 == { apple: 0, banana: { weight: 52, price: 200 }cherry: 97, durian: 100 }

 

 

------------------------------------------------------------------------------------------------

 

var defaults = { validate: false, limit: 5, name: "foo" };
var options = { validate: truename: "bar" };
var settings = $.extend({}, defaults, options);

 

# 결과

settings --> { validate: truelimit: 5name: bar }
options --> { validate: true, name: bar }

[출처] 10. jQuery extend() 란?|작성자 정서




출처 : http://take0415.blog.me/60133069023