jquery extend返回init函数

时间:2014-08-29 14:18:53

标签: jquery

这是一个错误吗?

var x = $.extend({});
var y = $.extend({},{});

alert($.isEmptyObject(y)); //true as expected
alert($.isEmptyObject(x)); //false?

如果没有,为什么这是预期的行为,为什么没有记录?

1 个答案:

答案 0 :(得分:4)

实际上已记录在docs for extend

  

如果只为$ .extend()提供了一个参数,这意味着省略了target参数。在这种情况下,jQuery对象本身被假定为目标。通过这样做,您可以向jQuery名称空间添加新功能。这对于希望向JQuery添加新方法的插件作者非常有用。

因此,x实际上是在扩展jQuery对象,当然包括所有正常的函数,包括init。