jQuery.extend()関数は、1つ以上のオブジェクトのコンテンツをターゲットオブジェクトにマージするために使用されます
- $ .extend()にパラメーターが1つだけ指定されている場合は、ターゲットパラメーターが省略されていることを意味します。この時点で、ターゲットはjQueryオブジェクト自体です。このようにして、グローバルオブジェクトjQueryに新しい関数を追加できます。
- 複数のオブジェクトが同じプロパティを持っている場合、後者は前者のプロパティ値を上書きします。元のデータを保持する必要がある場合、最初のオブジェクトは空のオブジェクトを使用します()
语法:
$ .extend(target [、object1] [、objectN])
$ .extend([deep]、target、object1 [、objectN])
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta http-equiv="Cache-Control" CONTENT="no-cache" />
<meta http-equiv="Pragma" CONTENT="no-cache" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>$.extend</title>
</head>
<body>
</body>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" th:inline="javascript">
'use strict';
$(function() {
var object1 = {
apple: 0,
banana: {
weight: 52,
price: 100
},
cherry: 97
};
var object2 = {
banana: {
price: 200
},
durian: 100
};
//非深度 object1.banana.weight 被抹去
var ext1 = $.extend({
}, object1, object2);
//深度 object1.banana.weight 任然保留
var ext2 = $.extend(true, {
}, object1, object2);
console.log(ext1)
console.log(ext2)
console.log(object1.banana)
$.extend(object1, object2)
console.log(object1.banana)
})
</script>
</html>
参照:
jQuery.extend()メソッド|初心者チュートリアル
//終わり