使用jQuery扩展方法将函数与对象合并,为什么只返回函数?

时间:2015-11-27 01:13:33

标签: javascript jquery

我有以下代码:

var object1 = function() {};
var object2 = {prop: "hello"};
$.extend(object1, object2)

在Chrome开发者控制台中,键入object1时,仅返回该功能。但我可以输入object1.prop。为什么?

2 个答案:

答案 0 :(得分:1)

jquery doc中的extend方法:

  

描述:将两个或多个对象的内容合并到一起   第一个对象。

执行此操作时:

$.extend(object1, object2)

你所说的是“取object2prop = "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"

支持返回的功能;