1

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

第一行中的“绑定:”是什么意思?

4

1 回答 1

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

可以在此处找到以这种方式包装的控制台功能的完整列表。

于 2012-05-01T08:56:26.623 回答