这是一个错误吗?
var x = $.extend({});
var y = $.extend({},{});
alert($.isEmptyObject(y)); //true as expected
alert($.isEmptyObject(x)); //false?
如果没有,为什么这是预期的行为,为什么没有记录?
答案 0 :(得分:4)
实际上已记录在docs for extend
:
如果只为$ .extend()提供了一个参数,这意味着省略了target参数。在这种情况下,jQuery对象本身被假定为目标。通过这样做,您可以向jQuery名称空间添加新功能。这对于希望向JQuery添加新方法的插件作者非常有用。
因此,x
实际上是在扩展jQuery
对象,当然包括所有正常的函数,包括init。