Après jQuery ne modifie pas la valeur des valeurs par défaut ou des options. La valeur renvoyée est la même que vide. vide a été modifié et rempli avec des données fusionnées. Tout est bon.
var empty = {}
var defaults = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
$.extend(empty, defaults, options);
Cependant, j'ai vu quelqu'un passer la vérité comme première option. Dans ce cas, les valeurs par défaut ont été modifiées. Les valeurs par défaut sont identiques et la valeur renvoyée est la même que la valeur par défaut.
Essayez maintenant de transmettre false.
var defaults = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
var output = $.extend(false, defaults, options);
Dans ce cas, les valeurs par défaut et les options ne sont pas modifiées. Donc le passage vrai est identique à
var defaults = { validate: false, limit: 5, name: "foo" };
var options = { validate: true, name: "bar" };
var output = $.extend(defaults, options);
Je vais juste m'asseoir ici et prétendre que je sais de quoi tu parles. –