jQuery.extend()
jQuery.extend()
설명 : 두 개 이상의 객체의 내용을 함께 첫 번째 객체로 병합합니다.
두 개 이상의 개체 인수가 제공되면 $.extend()모든 개체의 속성이 대상 개체에 추가됩니다. 인수 가 무시 null되거나 undefined무시됩니다.
인수가 하나만 제공된 경우 $.extend()이는 대상 인수가 생략되었음을 의미합니다. 이 경우 jQuery 객체 자체가 대상으로 간주됩니다. 이렇게하면 jQuery 네임 스페이스에 새로운 함수를 추가 할 수있다. 이것은 JQuery에 새로운 메소드를 추가하고자하는 플러그인 작성자에게 유용 할 수 있습니다.
대상 객체 (첫 번째 인수)가 수정되고 또한 반환됩니다 $.extend(). 그러나 원본 객체를 모두 유지하려면 빈 객체를 대상으로 전달하면됩니다.
var object = $.extend({}, object1, object2);
수행되는 병합 $.extend()은 기본적으로 재귀 적으로 수행 되지 않습니다. 첫 번째 객체의 속성 자체가 객체 또는 배열 인 경우 두 번째 또는 후속 객체에서 동일한 키가있는 속성으로 완전히 덮어 씁니다. 값은 병합되지 않습니다. 이것은 바나나의 가치를 검토하여 아래 예에서 볼 수 있습니다. 그러나 true첫 번째 함수 인수를 전달하면 개체가 재귀 적으로 병합됩니다.
경고 : false첫 번째 인수에 대한 전달 은 지원되지 않습니다.
정의되지 않은 속성은 복사되지 않습니다. 그러나 객체의 프로토 타입에서 상속 된 속성 은 복사됩니다. new MyCustomObject(args)Date 또는 RegExp와 같은 내장 JavaScript 유형을 통해 생성 된 객체 인 속성은 다시 생성되지 않고 결과 객체 나 배열에 일반 객체로 나타납니다.
의 deep객체와 배열이 확장되어, 확장,하지만 같은 문자열, 부울 및 번호 등의 기본 유형 개체 래퍼가 없습니다. 주기적인 데이터 구조를 확장하면 오류가 발생합니다.
이 동작을 벗어나는 요구에 대해서는 대신 사용자 정의 확장 메서드를 작성하거나 lodash 와 같은 라이브러리를 사용하십시오 .
예 :
두 객체를 병합하여 첫 번째 객체를 수정합니다.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery.extend demo</title>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<div id="log"></div>
<script>
var object1 = {
apple: 0,
banana: { weight: 52, price: 100 },
cherry: 97
};
var object2 = {
banana: { price: 200 },
durian: 100
};
// Merge object2 into object1
$.extend( object1, object2 );
// Assuming JSON.stringify - not available in IE<8
$( "#log" ).append( JSON.stringify( object1 ) );
</script>
</body>
</html>
게시글 목록
| 번호 | 제목 |
|---|---|
| 16019 | |
| 16015 | |
| 16014 |
jQuery
jQuery.holdReady( hold )
|
| 16013 |
jQuery
jQuery.hasData( element )
1
|
| 16011 | |
| 16010 | |
| 16009 |
jQuery
jQuery.globalEval (code)
|
| 16008 | |
| 16004 | |
| 16003 |
jQuery
jQuery.getJSON()
|
| 16002 |
jQuery
jQuery.get()
|
| 16001 |
jQuery
jQuery.fx.off
|
| 15993 |
jQuery
jQuery.fx.interval
|
| 15992 |
jQuery
jQuery.fn.extend ()
2
|
| 15991 |
jQuery
jQuery.extend()
현재글
|
| 15988 |
jQuery
jQuery.escapeSelector ()
|
| 15987 |
jQuery
jQuery.error (message)
|
| 15986 |
jQuery
jQuery.each()
|
| 15985 |
jQuery
jquery 가상 선택자 확장하기.
|
| 15981 |
jQuery
jQuery.dequeue()
|
| 15980 |
jQuery
jQuery.Deferred()
|
| 15979 |
jQuery
jQuery.data()
|
| 15978 |
jQuery
jQuery.cssNumber
|
| 15977 |
jQuery
jQuery.cssHooks
|
| 15976 | |
| 15975 |
jQuery
jQuery.Callbacks ()
|
| 15974 |
jQuery
jQuery.ajaxTransport ()
|
| 15973 |
jQuery
jQuery.ajaxPrefilter()
1
|
| 15971 |
jQuery
jQuery.ajaxPrefilter()
|
| 15970 |
jQuery
jQuery.ajax()
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기