Mi chiedevo, come funziona il $. in $ .ajax ({...}); lavoro? non ha senso per me. Certo. Ajax come membro ha senso, ma $ non è un nome variabile? o è? Come è definito?
risposta
$ è lo stesso di jQuery. Cioè, puoi scrivere jQuery.ajax (...) ecc.
La parte confusa è $ è un carattere legale nei nomi delle variabili Javascript. Non ha alcun significato speciale, come in PHP o Perl, per esempio.
Dalla fonte:
// Map over jQuery in case of overwrite
_jQuery = window.jQuery,
// Map over the $ in case of overwrite
_$ = window.$,
jQuery = window.jQuery = window.$ = function(selector, context) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init(selector, context);
},
E 'una funzione (oggetto di prima classe) con proprietà, come ad esempio la funzione ajax
si parla.
"$" è un carattere valido per nomi di variabili e, come è possibile vedere dal frammento di codice, $
corrisponde a jQuery
.
$ è uno dei soli caratteri legali che possono essere utilizzati nei nomi di variabili Javascript. JQuery e altre librerie sfruttano l'inizializzazione di $ per essere una funzione che inizializza l'oggetto jQuery.
Se non ricordo male il codice è un po 'come il seguente:
$ = window.jQuery = function(){
return new jQuery(args);
}
$ Questo è definito all'interno della libreria jQuery per essere un riferimento a jQuery più breve. È possibile scaricare la libreria e vedere le prime righe:
var
// Will speed up references to window, and allows munging its name.
window = this,
// Will speed up references to undefined, and allows munging its name.
undefined,
// Map over jQuery in case of overwrite
_jQuery = window.jQuery,
// Map over the $ in case of overwrite
_$ = window.$,
Questa "finestra $", "$" Appartiene all'ambiente finestra di oggetto.
In javascript, le funzioni sono oggetti (che possono essere contenuti da variabili). Come tali, possono avere proprietà (e metodi che sono solo proprietà con funzioni come valori). Prova questo:
function test() {
alert("hey!");
}
test.foo = function (msg) {
alert("you said: "+msg);
};
test(); //alerts "hey!"
test.foo("123") //alerts ""you said: 123".
//note that I'm not calling test().foo(),
//as test() returns nothing, though it could
//return an object (with a foo() or any other method itself!)
questo è un po 'quello che succede con jQuery.
Come spiegato in un certo numero di risorse JavaScript, tra cui Mozilla's JavaScript Guide:
identificatoreUn JavaScript deve iniziare con una lettera, underscore (_), o il simbolo del dollaro ($); i caratteri successivi possono anche essere cifre (0-9). Poiché JavaScript fa distinzione tra maiuscole e minuscole, le lettere includono i caratteri da "A" a "Z" (maiuscolo) ei caratteri da "a" a "z" (lettere minuscole).
Così i seguenti sono tutti legali (anche se mal consigliato) in JavaScript:
var $ = function() {};
var ____ = 0;
var __$__$ = 1;
function _$_$_$_(_, __, $_$) {
return (_ * __) + $_$;
}
alert(_$_$_$_(3,2,1)); // shows 7
- 1. Cambio lingua in modo dinamico PHP, Javascript, interfaccia utente jQuery
- 2. JQuery lingua datepicker
- 3. jQuery lingua del browser rilevamento
- 4. jQuery è considerato una lingua?
- 5. In quale lingua è scritto JavaScript?
- 6. libro Javascript che insegna javascript alla lingua, non dom
- 7. costanti lingua Aggiungi a componente Joomla javascript
- 8. carico jQuery con Javascript e utilizzare jQuery
- 9. Imparare jQuery e migliorare in Javascript
- 10. Funzione listener in javascript e/o jQuery
- 11. Multi lingua per un sito web (php e javascript)
- 12. Spostamento audio javascript in jquery
- 13. Intervallo in Javascript/jQuery?
- 14. VS 2015 CTP - JavaScript Lingua Durata blocca
- 15. Qual è lo stato della lingua Javascript?
- 16. jQuery Timestamps Timeago: Come scegliere la lingua?
- 17. Nome della lingua dal codice ISO 639-1 in Javascript
- 18. javascript/jquery: crea e invia modulo virtuale
- 19. sliding divs orizzontalmente con jquery e javascript
- 20. Ambiente di sviluppo per Jquery e javascript
- 21. Accesso alla lingua dell'espressione in javascript di una pagina jsp
- 22. JQuery/Javascript e l'uso degli operatori &&
- 23. Disporre array elementi con javascript e jquery
- 24. JQuery su JavaScript Perché e quando utilizzare?
- 25. Javascript: usare XPath in jQuery
- 26. quale lingua usa google e gli altri
- 27. in Jquery e Lista
- 28. Sostituisci ultimo indice di, con e in jQuery/JavaScript
- 29. Lingua hindi e testo sublime
- 30. Spingere array in array in Javascript (jQuery)
Si tratta di un nome di funzione, hanno una lettura della fonte jQuery. La funzione restituisce in modo efficace un oggetto JQuery che ha il membro 'ajax'. – Lazarus
@Lazarus: in realtà, sebbene la funzione $ restituisca un oggetto jQuery quando viene chiamato, non è quello che sta succedendo qui. $, come tutte le funzioni in JS, è un oggetto e può avere le sue proprietà (ad esempio ajax). l'oggetto jQuery restituito quando chiama $ ("") non ha una proprietà ajax (prova typeof $ (""). ajax invece di typeof $ .ajax) – figha