2011-07-06 7 views
6

Estoy tratando de entender CouchDB y couchapp, y como estoy pasando, estoy viendo la escasez del uso de 'esto' en cualquier contexto dado. Entiendo que los objetos show obtienen el documento y la solicitud, y se les permite operar con listas y vistas. Estas operaciones son todos objetos Javascript. Pero CouchApp también parece almacenar, como cadenas, todo tipo de cosas: archivos README, plantillas de bigote, etc. Debe tener acceso a ellos de alguna manera. ¿El operador this en el contexto de show proporciona acceso a la raíz del documento de diseño de alguna manera, dando acceso a los objetos por algún medio que no sea la sintaxis require?En CouchDB muestra, ¿a qué se refiere "esto"?

En Javascript, this es a determinar alguna manera en todos los contextos, específicamente "Hay una este valor asociado con cada contexto de ejecución activo. El valor este depende de la persona que llama y el tipo de código siendo ejecutado y se determina cuando el control entra en el contexto de ejecución. El este valor asociado con un contexto de ejecución es inmutable "(ECMA-262 Spec, 3ª edición, sección 10.1.7). ¿Qué significa en el contexto de una función de ejecución de doc de diseño de CouchDB show? ¿Una función view o list?

Respuesta

5

La variable this, en todos los casos (_list, _show, _update) es el documento de diseño en sí.

(Estrictamente hablando, se refiere a una representación de objetos JavaScript del documento de diseño que contiene la función de lista/mostrar/vista se está operando fuera de.)

+0

1. Espero que no te importe, pero edité tu respuesta para ser definitiva y más segura (ya que de hecho es totalmente correcta). – JasonSmith

+0

También verá una gran cantidad de código donde la primera línea de tales funciones es 'var ddoc = this;'. Más adelante, dirán 'ddoc.views.foo' o' ddoc.templates.bar' porque se siente natural. – JasonSmith

+0

Muchas gracias, @jhs :) –

Cuestiones relacionadas