我有以下代码:
var object1 = function() {};
var object2 = {prop: "hello"};
$.extend(object1, object2)
在Chrome开发者控制台中,键入object1
时,仅返回该功能。但我可以输入object1.prop
。为什么?
答案 0 :(得分:1)
jquery doc中的extend
方法:
描述:将两个或多个对象的内容合并到一起 第一个对象。
执行此操作时:
$.extend(object1, object2)
你所说的是“取object2
(prop = "hello"
)的属性并将它们打到object1
。因此,你正在做的是给object1
一个名为prop
的财产。
另一个例子:
// this object
var colours = { red: 1, green: 2, blue: 3 };
// will be merged into this one below
var people = { bob: 4, joe: 5 };
// like this!
$.extend(people, colours);
console.log(people);
// prints { red: 1, green: 2, blue: 3, bob: 4, joe: 5 }
答案 1 :(得分:1)
var object1 = function() {};
var object2 = {prop: "hello"};
merged = $.extend(object1, object2)
// function() {}
merged.prop
// "hello"
支持返回的功能;