C'è qualche differenza tra $(".selector").size()
e $(".selector").length
?jQuery size() metodo vs lunghezza attributo
risposta
No. size()
restituisce length
. Utilizzando length
si evita solo una chiamata al metodo in più.
Attenzione che '.size()' è ora (a partire da 1.8) deprecato e '.length' è indicato nei documenti come approccio appropriato. Vedere https://api.jquery.com/size/ – jinglesthula
Length restituisce la stessa cosa ed è leggermente più veloce secondo la documentazione di jQuery.
Fonte: http://api.jquery.com/size/
.size() è una chiamata di metodo, che restituisce la proprietà length. Quindi chiami il metodo per restituire la proprietà o recuperi direttamente la proprietà.
Il metodo (.size()) è probabilmente quello che dovresti utilizzare, in quanto è stato probabilmente implementato per astrarre la possibilità di modificare la proprietà della lunghezza.
Entrambi vi daranno lo stesso risultato ma .lunghezza è leggermente più veloce.
Vedi http://api.jquery.com/size/:
La proprietà .length è un modo leggermente più veloce per ottenere queste informazioni.
La lunghezza è molto più veloce.
Vedere il tutorial size vs. length.
Non definirei una differenza di runtime <0,5% molto più veloce (http://jsperf.com/size-vs-length) ma c'è un sovraccarico associato alla funzione chiamata. –
Sì! Ora c'è una differenza molto significativa. .size()
is deprecated. Utilizzare sempre .length
.
jQuery .size() e .length restituiscono entrambi il numero di elementi nell'oggetto jQuery.
Dimensione() e lunghezza in jQuery sia restituisce il numero di elementi in oggetto, ma la lunghezza è più veloce rispetto alla dimensione perché lunghezza è una proprietà e dimensione è un metodo e proprietà di lunghezza non avere il sovraccarico di una chiamata di funzione.
fonte: http://www.namasteui.com/difference-between-size-and-length-of-jquery/
Beh, questa è la stessa risposta come la risposta accettata che è stata data 5 anni fa. – jantimon
dimensioni JQuery() è un metodo & length() è di proprietà e la proprietà è più veloce di metodo perché size() chiama internamente lunghezza. quindi meglio chiamare direttamente la lunghezza.
Se si legge la proprietà length
, sarà necessario solo il tempo necessario per accedere a una proprietà dell'oggetto.
Tuttavia, se si chiama size()
, prima verrà chiamata una funzione, questa funzione leggerà la proprietà length
internamente e quindi restituirà quel valore al chiamante.
Si può chiaramente vedere che si sta facendo la stessa cosa in entrambi i casi. Ma se chiami la funzione, allora includerà il tempo per chiamare una funzione + restituendo anche quel valore.
- 1. attributo jquery raty star size non funziona
- 2. attributo size ignorata strato-list
- 3. font-size: 62,5% vs font-size: 10px
- 4. Lunghezza massima attributo del titolo
- 5. ottenere i dati-attributo jquery javascript vs
- 6. Converti tag font (attributo size) per css
- 7. Graphviz ignora attributo size (pagina A4)
- 8. RSA Size Size Mismatch
- 9. jQuery - Animate css background-size?
- 10. matrice malloced VS. array a lunghezza variabile
- 11. Lunghezza vs precisione
- 12. valori Enum() Lunghezza vs campo privato
- 13. Differenza tra @Size, @Length e @Column (lunghezza = valore)
- 14. <select> con attributo size: iPhone restituisce vuoto
- 15. lunghezza jquery di testo()
- 16. testo limite jquery per lunghezza
- 17. lunghezza e lunghezza() in Java
- 18. Attributo JSF azione vs risultato
- 19. body {font-size: 100.01%; } vs body {dimensione carattere: 100%; }?
- 20. XmlHttpRequest vs jQuery
- 21. javascript lunghezza array associativo utilizzando jQuery
- 22. python get unicode stringa size
- 23. jQuery: live() vs delegate()
- 24. Qual è il motivo del metodo size() di BitSet?
- 25. STL C++ - Perché il metodo forward_list no size()?
- 26. selettore jQuery con attributo specifico
- 27. JQuery combinare selettori di attributo
- 28. Ottenere attributo title con jQuery
- 29. jQuery onClick cambiamento 'top' attributo
- 30. Attiva/disattiva attributo in jquery
Dal codice: 'size: function() {return this.length; } ': P – Matt
A partire da jQuery 1.8, [' .size() '] (http://api.jquery.com/size/) è [** deprecato **] (http://bugs.jquery.com/ticket/10657) in favore di ['.length'] (http://api.jquery.com/length/), perché' .length' ha prestazioni leggermente migliori. –