Por ejemplo, cuando usa jQuery('someDiv');
, es una función, pero también puede usar jQuery.ajax(...);
.¿Cómo es la var "jQuery" una función y un objeto?
¿Cómo es posible?
Por ejemplo, cuando usa jQuery('someDiv');
, es una función, pero también puede usar jQuery.ajax(...);
.¿Cómo es la var "jQuery" una función y un objeto?
¿Cómo es posible?
En JavaScript, las funciones mismas son objetos.
var x = function() {};
x.foo = "bar";
console.log(x.foo); // bar
EDIT:
Para añadir a esto:
var x = function() {
return 'foo';
};
x.bar = function() {
return 'baz';
};
Así que ahora:
console.log(x()); // foo
console.log(x.bar()); // baz
Madre de Dios, no sabía que o_O –
Las funciones son ciudadanos de primera clase en JavaScript. –
Todo es todo hombre. Reglas de JavaScript :) – ahsteele
creo que el ejemplo .ajax está utilizando el plug-in de jQuery arquitectura. Creo que las capacidades de AJAX de jQuery son solo uno de los muchos complementos que puede usar.
El '$' que se usa see también es solo un alias para llamar a jQuery.
Una última observación se define como jQuery (del jquery-1.4.2.js):
var jQuery = function(selector, context) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init(selector, context);
},
y Ajax se parece a:
jQuery.extend({
...some other goodness...
ajax: function(origSettings)
...more goodness...
});
Véase también esta pregunta http: // stackoverflow .com/questions/1302428/what-does-jquery-actually-return – harpo