- jQuery 1.0 version
jQuery.extend = jQuery.fn.extend = function (obj, prop) {
if(!prop) {prop = obj; obj = this;}
for( var i in prop) obj[i] = prop[i];
return obj;
}; - jQuery.fn
- jQuery.prototype( jQuery 객체의 부모같은 역할)
- jQuery.extend = jQuery.fn.extend = ...
- jQuery함수 객체와 jQuery 함수 객체의 인스턴스 모두 extend함수가 있다는 말.
> new jQuery(..).extend(); jQuery.extend() 둘 다 가능하다는말 - if( !prop) { prop = obj; obj = this;}
- extend함수 인자가 한개만 들어올 경우, 현재 객체 (this)에 인자로 들어오는 객체의 프로퍼티 복사, 두개가 들어오는 경우에는 첫번째에 두번째 객체의 프로퍼티를 복사하겠다는 것
- for( var i in prop) obj [i] = prop [i];
- 얕은복사 (shallow copy) : not copy the data just reference it.
> 보통 extend구현 대상이 객체일경우 deep copy를 하는 것이 일반적
함수 객체인 경우는 그대로 얕은 복사 진행.
출처: 인사이드 자바스크립트 06장 - 객체 지향 프로그래밍
댓글 없음:
댓글 쓰기