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

Merge a function with an object with jQuery extend method, why's only function is returned?

本文关键字:函数 返回 为什么 合并 方法 扩展 jQuery 使用 对象      更新时间:2023-09-26

我有以下代码:

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

在Chrome开发者控制台中,当键入object1时,只返回函数。但我可以键入object1.prop。为什么?

jquery文档中的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 }
var object1 = function() {};
var object2 = {prop: "hello"};
merged = $.extend(object1, object2)
// function() {}
merged.prop
// "hello"

返回带有道具的函数;