我是靠谱客的博主 忧伤裙子,这篇文章主要介绍递归的方式遍历BOM树,几个简单的递归练习,现在分享给大家,希望可以做个参考。

#递归的方式遍历DOM树
##废话不多说直接上代码

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var root = document.documentElement // 传入一个根节点,获取所有子节点 function forDom(root, fn) { // 打印节点的名字的回调 fn(root) // 获取根节点中的子节点 var children = root.children // 循环所有子节点 for (let i = 0; i < children.length; i++) { const child = children[i]; // 打印所有子节点 fn(child) // 判断子节点中是否还有子节点 if (child.children) { // 有则继续调用此函数 forDom(child, function (node) { console.log('节点的名字是:' + node.nodeName); }) } } } forDom(root, function (node) { console.log('节点的名字是:' + node.nodeName); }) </script>

一个简单的递归练习

#深拷贝

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
age: "10", name: "男", car: ["奔驰", "宝马", "奥迪", "特斯拉", { tank:['T34','T44','T54','T59','T99','99式','M1A1'] }], }; var obj1 = {}; function extend(a, b) { //循环遍历obj对象的属性 for (let key in a) { // 先获取a 对象中没有属性的值,去判断这个值的类型 const item = a[key] if (item instanceof Array) { // 如果是数组,则在b中创建一个空数组 b[key] = [] // 调用这个方法,把这个数组中的值一个个复制到b对象的这个空数组中 extend(item, b[key]) } else if (item instanceof Object) { b[key] = {} extend(item, b[key]) } else { // 如果这个item 是一个普通的类型(数字 字符串 布尔值) b[key] = item } } } extend(obj, obj1); console.log("我是对象1",obj); console.log("我是对象2",obj1);

最后

以上就是忧伤裙子最近收集整理的关于递归的方式遍历BOM树,几个简单的递归练习的全部内容,更多相关递归内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(78)

评论列表共有 0 条评论

立即
投稿
返回
顶部