函数jQuery()
是工厂函数。我可以将它用作构造函数吗?
var ax = jQuery('a');
var bx = new jQuery('a');
它们有相同的含义吗?新对象继承谁的原型对象?
(我保证:我不会在现实生活中将它用作构造函数)
函数jQuery()
是工厂函数。我可以将它用作构造函数吗?
var ax = jQuery('a');
var bx = new jQuery('a');
它们有相同的含义吗?新对象继承谁的原型对象?
(我保证:我不会在现实生活中将它用作构造函数)
没有区别,因为它所做的只是返回一些东西:
// 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
!:)
没关系,因为jQuery()
内部会返回一个新的构造jQuery
对象。
但是,我建议您只使用jQuery()
(不带new
运算符)。