2012-11-17 11 views

risposta

5

Chiama una funzione denominata _ e passa il risultato dell'espressione catalog.add(this) come primo e unico argomento.

Questa funzione è molto probabilmente quella definita dalla libreria che è possibile scaricare da underscorejs.org, che è un altro in una serie di librerie che mancano di intenzioni che rivelano nomi di variabili.

+2

Si prega di non sembrare così peggiorativo su Underscore; l'utilizzo di un nome di variabile semplice potrebbe essere controverso, ma è un modo più ragionevole di estendere una lingua piuttosto che causare il caos modificando i prototipi incorporati. – Kos

+3

Non è un nome di variabile "semplice", è un nome di variabile oscuro. Non sembra * simile * a un nome di variabile per molte persone (il che probabilmente è il motivo per cui questa domanda è stata posta in primo luogo). – Quentin

+0

Vorresti sostenere che '$' come nel caso di jQuery (e altri) è migliore o anche _buon_ da usare? Personalmente, preferisco di gran lunga '$' a 'jQuery', ma non sopporto' _' - Penso che sia disordinato. – Bojangles

0

http://underscorejs.org/#chaining

io non sono esattamente sicuro di quello che il suo fare per voi, ma qui è il doc.

+0

era un codice di esempio che stavo usando che usa come plugin jquery per trattare con indexedDB. https://github.com/axemclion/jquery-indexeddb/blob/master/example/index.html – Spinbad

+0

catalog è un oggetto chiamato archivio oggetti che è un tipo di tabella in indexedDB. catalog.add (this) non fa altro che aggiungere ogni valore durante l'iterazione attraverso un file json. Tutto quello che voglio sapere è la ragione che sta dietro a mettere il trattino basso lì. Potrebbe essere una domanda sciocca. Sono un principiante. Perdonate la mia ignoranza. – Spinbad

-1

EDIT:

Risposta breve: Sì, non è diverso. Rimuoverla.

Dal proprio file js di origine, _ è un nome di funzione per il risultato di registrazione dell'oggetto promessa. Quindi devi rimuoverlo nel codice di produzione se non ti interessa quale metodo restituisce il metodo add. Il metodo add dovrebbe restituire le chiavi appena create.

Per me, quelli $, i, _ e this non hanno senso.

add(this) è molto spaventoso. che cos'è this?

+0

forse avrei dovuto postare l'intero codice. Qui è https://github.com/axemclion/jquery-indexeddb/blob/master/example/index.html – Spinbad

+0

@Kyaw - hai chiesto "Cos'è" questo? " È una parola chiave JavaScript come spiegato [alla MDN] (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/this). – nnnnnn

+0

'questo 'potrebbe essere un oggetto che non può essere clonato, come DOMElement. In tal caso Indexeddb deve lanciare DataCloneError. La mia opinione, "aggiungi (questo)" dovrebbe essere generalmente evitata. –

Problemi correlati