前端浅谈-Js的组成
这里主要想详细的分析一下浏览器渲染过程,但东西比较多.所以分成多个部分.
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等,会新增一些函数,对象等,甚至还会拓展原来函数的一些方法.可以适当跟上这些新特性的学习,让自己一直走在时代前沿.
最新文章
- redmine中创建项目与跟踪标签(原创)
- eval 与 Function
- [Effective C++ --022]将成员变量声明为private
- Android no such table (找不到表)
- linux平台上面python调用c
- 工作中部署使用MP平台的一些问题
- js模板引擎--artTemplate
- 《转》Frameset布局
- 怎样在C++中获得完整的类型名称
- Java中不定参的使用规则
- Java基础学习笔记二十 IO流
- Linux - sed 工具
- P1462 通往奥格瑞玛的道路
- go语言之进阶篇有缓冲channel
- Windows下使用Git Bash上传项目到GitHub
- java xml文件
- Newtonsoft.Json 序列化器的重写
- 实习day2:@2X图片,git,coding.net,
- [GO]方法的继承
- jdbc连接sql server2017进行简单的增、删、改、查操作
热门文章
- [loj2850]无进位加法
- 语音合成论文翻译:2019_MelGAN: Generative Adversarial Networks for Conditional Waveform Synthesis
- JAVA特点及安装卸载
- BehaviorTree.CPP行为树BT的队列节点(三)
- 解决 IDEA 2021.2.3 新建maven项目只有两个archetype项目模板的问题
- [POI2002][HAOI2007]反素数
- 关闭 IDEA 自动更新
- Perl调用和管理外部文件中的变量(如软件和数据库配置文件)
- 【Python小试】根据外显子位置生成CDS序列
- Spark(三)【RDD中的自定义排序】