美文网首页
JavaScript/慕课网DOM基础

JavaScript/慕课网DOM基础

作者: joker731 | 来源:发表于2018-04-23 13:18 被阅读17次

慕课网dom深入浅出

  • Dom的前提要求是文档全部加载进来后,所有节点对象产生完毕,才操作,这才是正确的dom运行模式
    //所以有的时候为了保险起见,会使用下面代码
    window.onload = function (){}
    //这就是要等所有东西加载完毕在运行代码的意思

但是onload是有缺陷,比如说一个网站的请求是很多图片造成长时间的卡顿不就完了?解决办法是什么?

QQ截图20180422223115.png

认识dom

  • dom把整个页面模拟成节点,除此之外还提供接口函数让JavaScript来对html页面进行操作
    //有了dom这个API,JavaScript就可以对html页面做增删改查了
  • dom产生的原因:
    在dom之前有DHTML来做这样的工作,因为浏览器厂商之间的竞争,导致两种DHTML标准出现,因此W3c推出DOM
  • dom几个版本
    //DOM1/2/3

DOM探索基础

//文档类型与节点类型
文档类型发展历史
GML SGML HTML XMl
//前两个是标准通用语言,W3c在此基础上发明了HTML,随着发展又衍生出了xml
//html侧重于显示数据,以及如何更好低显示数据
//XML侧重于描述数据,什么是数据?如何存储数据(存放格式化数据)

节点的类型

QQ截图20180422220526.png

DOMready

html页面元素成为节点是有一个过程的,这个过程就是要浏览器来转化
//标签和节点是两回事,你要通过操作DOM来让浏览器把相应的元素包装成节点
//浏览器中进行这样的工作的就是浏览器的渲染引擎

浏览器的渲染引擎是如何工作的呢?

1.通过浏览器发送请求获取内容
2.解析html以构建DOM树(构建DOM节点)
3.构建渲染树(解释样式信息)
4.布局渲染树(布局DOM节点)
//就是确定每个节点在浏览器窗口上的每个坐标
5.绘制渲染树(绘制DOm节点)
//就是给每个节点具体上色

webkit引擎如何渲染的?

QQ截图20180422222204.png

意外收获

!!el&&el.NodeType ===1
//为什么要这样写代码来判断是否是元素节点呢?
//因为JavaScript是动态语言,类型可以转换,再加上,使用xxx.NodeType这些挂载在对象属性上的方法,是可以伪造的

var a = {
NodeType:1
}

//如上所示,这样是不是把a也当做一个元素啦?
所以基于这些原因,当JavaScript 代码要做判断的时候往往要用上&&来进行多层筛选,这样才能确保达到我们的目的

相关文章

  • JavaScript/慕课网DOM基础

    慕课网dom深入浅出 Dom的前提要求是文档全部加载进来后,所有节点对象产生完毕,才操作,这才是正确的dom运行模...

  • JavaScript学习笔记

    笔记来自慕课网的js和《JavaScript DOM编程艺术》一书以及《JavaScript权威指南》一书的学习。...

  • 《DOM探索之基础详解篇》笔记

    慕课网 DOM探索之基础详解篇 学习笔记 一、认识DOM DOM 提供了用程序来动态控制HTML的接口。 DOM级...

  • 【JS】DatePicker组件开发

    课程前言: 慕课网 -- DatePicker组件开发 课程准备: HTML、CSS、JavaScript基础、浏...

  • 2018-04-10前端学习笔记

    前端入门 核心基础 HTML+CSS+JAVASCRIPT HTML 教程:菜鸟教程-HTML 练习检测:慕课网-...

  • html&CSS(一)

    本文主要是起笔记的作用,内容来自慕课网. 认识HTML、CSS、JavaScript 学习web前端开发基础技术需...

  • nodejs 小爬虫

    nodejs 基础练习,爬取慕课网的某一个课程的内容http 模块cheerio 解析HTML的DOM结构 安装 ...

  • 慕课网Vue基础知识学习笔记

    慕课网Vue基础知识学习 1.基础知识 挂载点: el对应的id 模板:指的就是挂载点DOM内部的标签内容,可以在...

  • jQuery基础(二)—DOM篇(慕课网)

    第一章 课程介绍 此课程主要讲的是利用jq对节点的操作,以及一些其他新的功能。 第二章 DOM节点的创建 2-1...

  • jQuery基础(二)—DOM篇(慕课网)

    第一章 课程介绍 此课程主要讲的是利用jq对节点的操作,以及一些其他新的功能。 第二章 DOM节点的创建 2-1...

网友评论

      本文标题:JavaScript/慕课网DOM基础

      本文链接:https://www.haomeiwen.com/subject/skuclftx.html