2012-05-19 10 views
9

Hace unos días un amigo y yo jugábamos con la consola Javascript en Chrome (usando una versión un poco más antigua, pero esto puede repetirse en la última versión estable en OSX y Windows) cuando asignamos una cadena a la variable $ x.

$x = "hello" 

pero cuando nos hacemos eco el valor de $ x, se dan dado el código siguiente en la consola:

bound: function (xpath, context) 
{ 
    var doc = (context && context.ownerDocument) || inspectedWindow.document; 
    var result = doc.evaluate(xpath, context || doc, null, XPathResult.ANY_TYPE, null); 
    switch (result.resultType) { 
    case XPathResult.NUMBER_TYPE: 
     return result.numberValue; 
    case XPathResult.STRING_TYPE: 
     return result.stringValue; 
    case XPathResult.BOOLEAN_TYPE: 
     return result.booleanValue; 
    default: 
     var nodes = []; 
     var node; 
     while (node = result.iterateNext()) 
      nodes.push(node); 
     return nodes; 
    } 
} 

Tenemos un resultado similar en las versiones estables de Safari y Firefox. Por lo que podemos decir, la variable $ x no está asociada al objeto de ventana global.

¿Cuánto es $ x y para qué se utiliza?

Respuesta

9

Esa es una función de utilidad XPath. Desde el fine Firebug manual:

$x(xpath)
Devuelve un conjunto de elementos que coinciden con la expresión XPath dada.

Y desde el fine Chrome manual:

$x(xpath)
Devuelve un conjunto de elementos DOM que coinciden con la expresión XPath dada.

La función $x no es parte de JavaScript en sí, es solo una utilidad que está disponible en la consola. Si intenta acceder al $x fuera de la consola (http://jsfiddle.net/ambiguous/fsewU/), obtendrá un ReferenceError a menos que, por supuesto, haya definido su propio $x en algún lugar.

1

parece estar relacionado con el XPath (Lenguaje de rutas XML) .... Un ayudante de clases ... He encontrado un enlace que puede ayudarle .. http://userscripts.org/topics/26131 Espero que ayude ..

+0

1. por lo que vale, Firebug en Firefox también hace lo mismo con '$ x'. – Spudley

Cuestiones relacionadas