Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
196 views
in Technique[技术] by (71.8m points)

javascript - What is the variable $x used for in Chrome?

A few days ago a friend and I were playing around with the Javascript console in Chrome (using a slightly older version, but this can be repeated in the latest stable build on both OSX and windows) when we assigned a string to the variable $x.

$x = "hello"

but when we echo out the value of $x, we get given the following code in the console:

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;
    }
}

We got a similar output in stable versions of Safari and Firefox. As far as we can tell, the $x variable is not attached to the global window object.

What is $x, and what's it used for?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

That's an XPath utility function. From the fine Firebug manual:

$x(xpath)
Returns an array of elements that match the given XPath expression.

And from the fine Chrome manual:

$x(xpath)
Returns an array of DOM elements that match the given XPath expression.

The $x function isn't part of JavaScript itself, it is just a utility that's available in the console. If you try to access $x outside the console (http://jsfiddle.net/ambiguous/fsewU/), you'll get a ReferenceError unless, of course, you've defined your own $x somewhere.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...