前端面试之DOM树

二、DOM树

什么是DOM

文档对象类型,是 W3C 组织推荐的处理可扩展标记语言的标准编程接口

通过这些 DOM 接口可以改变网页的内容、结构和样式
在这里插入图片描述
深层理解:从网络传给渲染引擎的HTML文件字节流无法直接被渲染引擎理解的,所以要将其转化为渲染引擎能够理解的内部结构,这个结构就是 DOM。DOM 提供了对 HTML 文档结构化的表述

DOM分类

核心DOM:是用于XML与HTML的共用接口;
XMLDOM:XML专用接口;
HTML DOM:HTML专用接口;
DOM事件模型:定义DOM能够响应的事件;
CSS DOM:CSS专用接口

DOM 作用

1、从页面的视角看,DOM是生成页面的基础数据结构
2、从javascript脚本的视角看,DOM提供了一些常见的操作接口,通过这套接口可以直接对文档进行结构,样式的操作。
JS中DOM元素的操作
3、从安全的视角来看、DOM是一道安全防线,把一些不安全的内容在DOM解析阶段就拒之门外、

DOM的生成

第一个阶段,通过分词器将字节流转换为 Token。
第二个和第三个阶段是同步进行的,需要将 Token 解析为 DOM 节点,并将 DOM 节点添加到 DOM 树中。
在这里插入图片描述

js如何影响DOM树

我们都知道html树是从上到下的执行,在执行过程中遇到js脚本时,会暂停执行html,先执行js脚本,因为接下来的js可能会修改当前的DOM结构,
在这里插入图片描述

js引擎介入执行js,如果js脚本中有修改html节点的,先修改html。
当js脚本全都执行完成后,html解析器继续执行。直到DOM完成
这也是为什么js需要异步加载和js脚本需要放在最后的原因
如果js中没有DOM操作。可以使用js异步加载
js异步加载的三种方式
外部js的流程和内嵌的js不一样
当浏览器执行到js文件时,会先下载js文件,(暂停解析来下载js文件)
js中有操作DOM部分的代码,回到主线程上操作DOM后继续执行js
js中如果有操作css外部样式表的,需要先下载外部样式表之后在进行操作。

总结

关于DOM ,我们需要学习的就是js常见的操作DOM 的事件和属性 理解DOM 的原理之后也就好理解为什么js脚本需要放在html底部和延迟加载了(优化的时候会考到)

常见的DOM操作

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
### 回答1: 2022年前端面试是一个非常重要的考试,对于想要从事前端开发工作的人来说,非常关键。在面试前,我们需要充分准备自己的面试内容和知识点,以及回答问题的技巧和方法。 首先,面试前需要熟悉相关公司的业务和现在使用的前端框架或技术栈,这样可以更好地准备自己的面试内容和回答问题。另外,需要重点掌握HTML、CSS和JavaScript等基本知识,以及常用的UI框架和库,如jQuery、Bootstrap、Vue.js、React等。此外,还需要关注最近的前端技术和趋势,如WebGL、Node.js、TypeScript等。 在面试中,需要注意的是回答问题的技巧和方法。首先,需要仔细听取面试官的问题,理解问题的核心和重点,尽可能地表达自己的回答思路和理解深度。其次,需要尽量举一些实际的例子或场景来说明自己的观点和经验,这样可以更加生动地表达自己的想法。最后,需要注意回答问题的语言表达和态度,尽可能地表现自己的专业水平和态度认真。 总体而言,2022前端面试csdn是一个很重要的考试,需要提前充分准备自己的知识和技能,在面试过程中表现得专业、认真。这样才能更好地展现自己的实力,得到期望的前端开发工作。 ### 回答2: 2022前端面试csdn是一项非常重要的任务,因为前端开发是目前互联网行业中最热门的职位之一。要成功通过前端面试,需要具备扎实的前端基础知识和开发经验,同时也需要具备一定的面试技巧和实际表现能力。 在准备前端面试时,需要学习并熟悉HTML、CSS和JavaScript前端基础知识,理解网页布局、响应式设计、DOM操作等常见技术,并熟练掌握常用的前端框架和库,如Angular、React、Vue等,还需了解一些基本的设计模式和算法,如代理模式和二分查找等。 在面试中,需要展现自己的技术实力和团队合作能力,对于面试官的提问,要结合自身经验和知识深入分析,并提供解决方案,同时也要注意沟通和表达技巧。进入面试后,要表现得自信且谦虚,积极主动地回答问题并展示自己的优点和特长,同时也要主动询问面试环节的问题与需求,以便更好地为公司做出贡献。 综上所述,要通过2022前端面试csdn,需要全方位的准备和积极的心态,提前准备,熟练掌握前端知识与技能,参加面试前做好应对策略和交流技巧的准备,这样才能成功地展示自己的实力和获得自己心仪的工作机会。 ### 回答3: 2022年前端面试已经获得广泛关注,吸引了大量技术人员的参与。作为一名前端开发者,在准备面试时,有几点要特别注意。 首先是技术知识的深度和广度。前端开发者需要了解HTML、CSS和JavaScript的基础知识,同时掌握流行的前端框架和库,如Angular、React、Vue等。此外,对于跨平台开发、性能优化、SEO等方面也需要有相应的了解。 其次是实战经验。虽说前端开发是一门技术学科,但对于面试官来说,实际项目和团队协作经验也是重要考察因素。要想在选手中脱颖而出,需要在自己的技术博客或Github上分享项目经验,展示自己优秀的代码实现。 最后是沟通能力和团队协作能力。前端开发不仅仅是技术能力,对于工作中的沟通和协作同样重要。面试时,面试官可能会问到你的与其他团队成员沟通和协作的经验,因此在举例时,展示自己的团队合作精神和领导力也很重要。 总之,在准备2022年前端面试时,需要注重技术深度和广度、实战经验以及沟通和协作能力等方面的提升。同时,修改简历并投递简历时一定要认真,格式要清晰易读,表达要准确简洁。祝大家面试顺利,取得好成绩!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十九万里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值