2012-06-18 26 views
5

Estoy desarrollando mi propio mini framework para una aplicación en la que estaba trabajando, y he estado estudiando que jQuery está codificado.jQuery: ¿objeto y función al mismo tiempo?

tengo la .function $ (selector) forma() funciona, pero ¿cómo es que se puede llamar a algunas funciones, como:

$ .ajax()

Sin duda, esto sería sido las referencias a los símbolos del dólar una función y el objeto jquery.fn al mismo tiempo?

¡Gracias de antemano!

Respuesta

8

Las funciones son objetos en JavaScript para que puedan tener propiedades.

$ es el objeto jQuery, cuando se utiliza $() se utiliza como constructor (contiene algo de magia por lo que new no es necesario); pero también contiene una gran cantidad de métodos (y algunas propiedades no se puede llamar como $.browser) disponibles como $.something

+0

¿Me puede dar un ejemplo de una función que también tiene una propiedad a continuación. Digamos que podría llamar tanto a function() como a function.test? – jleck

+2

@JamesLeckenby: Simple. 'var a = function() {console.log (" from a "); }; a.test = function() {console.log ("from a.test"); }; un(); a.test(); ' – Amadan

4

http://jsfiddle.net/vZvgv/1/

var $ = function(str) { 
    document.write(str+'<br />'); 
} 

$.ajax = function(str) { 
    document.write(str+'<br />'); 
} 

$.answer = 42; 

$('dollar'); 
$.ajax('ajax'); 
document.write($.answer); 
Cuestiones relacionadas