在chrome开发人员控制台中,键入$x.toString()
($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;
}
}"
第一行中“bound:”的含义是什么?
答案 0 :(得分:4)
$x
是webkit开发人员工具控制台中的内置函数,如$
,$$
等。 CommandLineAPI
(用于控制台脚本评估)会覆盖所有控制台方法的toString
函数,以包含"bound: "
前缀:
function bind(thisObject, memberFunction)
{
var func = memberFunction;
var args = Array.prototype.slice.call(arguments, 2);
function bound()
{
return func.apply(thisObject, args.concat(Array.prototype.slice.call(arguments, 0)));
}
bound.toString = function() {
return "bound: " + func;
};
return bound;
}
可以找到以这种方式包装的控制台功能的完整列表here。