相关疑难解决方法(0)

向下递归DOM树

这是来自Crockford的JavaScript:The Good Parts的代码.

var results = [];

var walkDOM = function (node,func) {
        func(node);                     //What does this do?
        node = node.firstChild;
        while(node) {
            walkDOM(node,func);
            node = node.nextSibling;
        }

    };
Run Code Online (Sandbox Code Playgroud)

我理解代码除外func(node).我想重点是node在函数中作为参数传递func,但浏览器将如何理解它?node并且func可以是任何东西 - 因此当调用该函数时,它可以像这样读取:

walkDOM(document.body,function(att) {
          node.getAttribute(att);
          results.push(node);
          });
Run Code Online (Sandbox Code Playgroud)

如果func获得通过,walkDOM将处理功能(ATT){...}(document.body的) -这将没有任何意义.那么为什么Crockford选择包含func(node)?

javascript recursion dom

2
推荐指数
2
解决办法
1万
查看次数

标签 统计

dom ×1

javascript ×1

recursion ×1