前几天,我和朋友正在玩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,它用于什么?
答案 0 :(得分:10)
这是一个XPath实用程序功能。来自fine Firebug manual:
<强>
$x(xpath)
强>
返回与给定XPath表达式匹配的元素数组。
$x(xpath)
返回与给定XPath表达式匹配的DOM元素数组。
$x
函数不是JavaScript本身的一部分,它只是控制台中可用的实用程序。如果您尝试在控制台(http://jsfiddle.net/ambiguous/fsewU/)之外访问$x
,那么您将获得ReferenceError,当然,除非您已在某处定义了自己的$x
。
答案 1 :(得分:1)
看起来与XPath(XML路径语言)有关....各种各样的帮助......我找到了一个可以帮助你的链接.. http://userscripts.org/topics/26131希望有所帮助..