这里主要想详细的分析一下浏览器渲染过程,但东西比较多.所以分成多个部分.

JS由三个部分组成,分别为ECMAScript、BOM、DOM.

其中BOM是浏览器层面的东西,而DOM是页面层面的东西.简单来说,BOM是包含整个浏览器的,它的核心对象是window,而DOM是页面里的所有东西,它的核心对象是document,而window是包含document的,但是浏览器可以有很多个,所有就有很多不同的BOM.而要想同一个页面在不同的浏览器里都显示,就必须有规则.所以document又是不同于其他的window对象,它必须有统一的规则.而ECMAScript则是js语法的规则,也是js的核心,没它不行.

BOM

包含的内容为:

1、window对象 ,是JS的最顶层对象,其他的BOM对象都是window对象的属性;

2、document对象,文档对象;

3、location对象,浏览器当前URL信息;

4、navigator对象,浏览器本身信息;

5、screen对象,客户端屏幕信息;

6、history对象,浏览器访问历史信息;

7. 计时器:

DOM

主体是doucument,核心是把html元素当做对象处理的思路.严格遵循W3C的规则

1.如何获取节点:类似document.getElementById()这类函数能拿到HTMLCollection 对象

2.如何拿到节点属性内容等.其中样式会放在CSS中通用管理

3.节点直接的关系:childNodes等

4.如何增删改查节点:appendChild()等

5.事件:focus(),onclick()等

这些都是通过W3C的规则严格控制的,能保证页面对DOM元素的操作能顺利的在不同的浏览器中运作.而我们常说的一些兼容问题,则会出现在这里.新出的函数,不一定所有的浏览器都支持.新出的属性也有些浏览器不支持.同时我们也可以知道,DOM是包含HTML、CSS的.

ECMAScript

主要是js的语法规则,它规定了一些特定的规则写法和对象.比如Array、String、Promise等.这些规则隔一段时间就会进行修改和完善,比如我们常听到一些ES5、ES6等词,就是表示2009年之前的ECMAScript规则以及之后的.自然还有ES7、ES8等,会新增一些函数,对象等,甚至还会拓展原来函数的一些方法.可以适当跟上这些新特性的学习,让自己一直走在时代前沿.

最新文章

  1. redmine中创建项目与跟踪标签(原创)
  2. eval 与 Function
  3. [Effective C++ --022]将成员变量声明为private
  4. Android no such table (找不到表)
  5. linux平台上面python调用c
  6. 工作中部署使用MP平台的一些问题
  7. js模板引擎--artTemplate
  8. 《转》Frameset布局
  9. 怎样在C++中获得完整的类型名称
  10. Java中不定参的使用规则
  11. Java基础学习笔记二十 IO流
  12. Linux - sed 工具
  13. P1462 通往奥格瑞玛的道路
  14. go语言之进阶篇有缓冲channel
  15. Windows下使用Git Bash上传项目到GitHub
  16. java xml文件
  17. Newtonsoft.Json 序列化器的重写
  18. 实习day2:@2X图片,git,coding.net,
  19. [GO]方法的继承
  20. jdbc连接sql server2017进行简单的增、删、改、查操作

热门文章

  1. [loj2850]无进位加法
  2. 语音合成论文翻译:2019_MelGAN: Generative Adversarial Networks for Conditional Waveform Synthesis
  3. JAVA特点及安装卸载
  4. BehaviorTree.CPP行为树BT的队列节点(三)
  5. 解决 IDEA 2021.2.3 新建maven项目只有两个archetype项目模板的问题
  6. [POI2002][HAOI2007]反素数
  7. 关闭 IDEA 自动更新
  8. Perl调用和管理外部文件中的变量(如软件和数据库配置文件)
  9. 【Python小试】根据外显子位置生成CDS序列
  10. Spark(三)【RDD中的自定义排序】