서로 다른 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: true, name: "bar" };
var settings = $.extend({}, defaults, options);
# 결과
settings --> { validate: true, limit: 5, name: bar }
options --> { validate: true, name: bar }
[출처] 10. jQuery extend() 란?|작성자 정서
출처 : http://take0415.blog.me/60133069023
'코드 > JS' 카테고리의 다른 글
제이쿼리 여러 함수 플러그인 작성 (0) | 2013.08.23 |
---|---|
(function($){...})(jQuery) (0) | 2013.07.12 |
자바스크립트로 stylesheet 파일 로드하기 (0) | 2013.01.15 |
자바스크립트 반복문 ;i++<len; (0) | 2013.01.13 |
멀티 문자열에서 빈 줄 없애기 (0) | 2011.11.24 |