2011-01-29 15 views
6

lo trovo ovunque, in questo modo.

function($) { 
    $.test = { some code } 
} 

cosa significa?

risposta

7

si dovrebbe pensare codice jQuery come una divisione tra due modi di funzioni di chiamata:

  1. metodi su selezioni. Questo è lo standard "trova alcuni elementi, fai qualcosa con loro" tecnica. È un codice come $('p').val(), $('div').prepend(), ecc.
  2. Metodi senza selezioni. Queste sono funzioni che non richiedono di effettuare una selezione prima di chiamare una funzione. Queste sono funzioni come $.ajax, $.param, $.each. Per comodità, sono proprietà della variabile globale $, che è la libreria jQuery. Spesso, non sono specifici di jQuery, ma sono utili parti di codice da includere nella libreria.
+0

Inchiodato. Avevo solo scritto cose come $ ('selector'). Do_qualcosa. Mi sembra chiaro, ora, che $ .stuff crei nuovi metodi per gli oggetti jQuery :) –

9

Pensa allo $ come qualsiasi altra variabile. Per jQuery, è l'oggetto jQuery, che è piuttosto potente. Ma è proprio come qualsiasi altra variabile; potresti scrivere il tuo $ se lo desideri, per esempio.

È un nome variabile insolito, sì, ma non c'è nulla di magico in questo. Lo .something è solo una proprietà della variabile $. Non è diverso da scrivere obj.something, tranne che il nome della variabile è $.

L'altro carattere non alfanumerico che è possibile utilizzare in JavaScript come nome della variabile è _ (il carattere di sottolineatura). È usato in alcune altre librerie, come underscore.js. Ma ancora una volta, non c'è niente di speciale nell'uso di _.

+0

'$' è uno standard utilizzato per variabili in varie altre lingue. Non c'è niente di magico in questo. – Raynos

+0

avevo già visto variabili $, ma era la prima volta che vedevo $ tutto da solo. –

+0

Non so se il '$' è il _chicken_ o il _egg _.... ma spesso non posso fare a meno di chiedermi se potrebbe non essere solo il '$' che rende JS ... "così f- ing fastidioso ". –

4

la variabile $ è un alias dell'oggetto jQuery/'spazio dei nomi'. Quindi quando vedi $.function() stai chiamando un metodo chiamato 'funzione' sull'oggetto jQuery. Nel codice di esempio fornito un oggetto denominato test viene collegato all'oggetto jQuery. se hai scritto $.test = function() { }, dovresti collegare una funzione (metodo) invece di un oggetto.