Chrome中使用的变量$ x是多少?

时间:2012-05-19 02:52:35

标签: javascript google-chrome v8

前几天,我和朋友正在玩Chrome中的Javascript控制台(使用稍微旧的版本,但这可以在OSX和Windows上的最新稳定版本中重复)当我们为其分配字符串时变量$ x。

$x = "hello"

但是当我们回显$ x的值时,我们在控制台中得到以下代码:

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

我们在Safari和Firefox的稳定版本中获得了类似的输出。据我们所知,$ x变量未附加到全局窗口对象。

什么是$ x,它用于什么?

2 个答案:

答案 0 :(得分:10)

这是一个XPath实用程序功能。来自fine Firebug manual

  

<强> $x(xpath)
  返回与给定XPath表达式匹配的元素数组。

来自fine Chrome manual

  

$x(xpath)
  返回与给定XPath表达式匹配的DOM元素数组。

$x函数不是JavaScript本身的一部分,它只是控制台中可用的实用程序。如果您尝试在控制台(http://jsfiddle.net/ambiguous/fsewU/)之外访问$x,那么您将获得ReferenceError,当然,除非您已在某处定义了自己的$x

答案 1 :(得分:1)

看起来与XPath(XML路径语言)有关....各种各样的帮助......我找到了一个可以帮助你的链接.. http://userscripts.org/topics/26131希望有所帮助..