函数jQuery()
是一个工厂函数。我可以将它用作构造函数吗?
var ax = jQuery('a');
var bx = new jQuery('a');
他们有相同的含义吗?新对象是否继承了其原型对象?
(我保证:我不会在现实生活中使用它作为构造函数)
答案 0 :(得分:4)
没有区别,因为它只是返回一些东西:
// Define a local copy of jQuery
jQuery = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init( selector, context, rootjQuery );
},
如果构造函数返回其他东西另一个对象,那就是返回的内容,并丢弃构造的对象。所以...不要使用new jQuery
! :)
答案 1 :(得分:2)
没关系,因为jQuery()
在内部将返回一个新构造的jQuery
对象。
但是,我建议您使用jQuery()
(不使用new
运算符)。