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

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等,会新增一些函数,对象等,甚至还会拓展原来函数的一些方法.可以适当跟上这些新特性的学习,让自己一直走在时代前沿.

前端浅谈-Js的组成的更多相关文章

  1. 浅谈JS中 var let const 变量声明

    浅谈JS中 var let const 变量声明 用var来声明变量会出现的问题: 1. 允许重复的变量声明:导致数据被覆盖 2. 变量提升:怪异的数据访问.闭包问题 3. 全局变量挂载到全局对象:全 ...

  2. 浅谈JS之AJAX

    0x00:什么是Ajax? Ajax是Asynchronous Javascript And Xml 的缩写(异步javascript及xml),Ajax是使用javascript在浏览器后台操作HT ...

  3. 浅谈JS中的闭包

    浅谈JS中的闭包 在介绍闭包之前,我先介绍点JS的基础知识,下面的基础知识会充分的帮助你理解闭包.那么接下来先看下变量的作用域. 变量的作用域 变量共有两种,一种为全局变量,一种为局部变量.那么全局变 ...

  4. 浅谈 js 正则字面量 与 new RegExp 执行效率

    原文:浅谈 js 正则字面量 与 new RegExp 执行效率 前几天谈了正则匹配 js 字符串的问题:<js 正则学习小记之匹配字符串> 和 <js 正则学习小记之匹配字符串优化 ...

  5. 浅谈 js 字符串之神奇的转义

    原文:浅谈 js 字符串之神奇的转义 字符串在js里是非常常用的,但是你真的了解它么?翻阅<MDN String>就可以了解它的常见用法了,开门见山的就让你了解了字符串是怎么回事. 'st ...

  6. 浅谈 js 正则之 test 方法

    原文:浅谈 js 正则之 test 方法 其实我很少用这个,所以之前一直没注意这个问题,自从落叶那厮写了个变态的测试我才去看了下这东西.先来看个东西吧. var re = /\d/; console. ...

  7. 浅谈 js 数字格式类型

    原文:浅谈 js 数字格式类型 很多人也许只知道 ,123.456,0xff 之类的数字格式.其实 js 格式还有很多数字格式类型,比如 1., .1 这样的,也有 .1e2 这样的. 可能有人说这是 ...

  8. 浅谈 js 语句块与标签

    原文:浅谈 js 语句块与标签 语句块是什么?其实就是用 {} 包裹的一些js代码而已,当然语句块不能独立作用域.可以详细参见这里<MDN block> 也许很多人第一印象 {} 不是对象 ...

  9. 浅谈 js 字符串 trim 方法之正则篇

    原文:浅谈 js 字符串 trim 方法之正则篇 关于 trim 其实没啥好说的,无非就是去除首位空格,对于现代浏览器来说只是简单的正则 /^\s+|\s+$/ 就可以搞定了.而且支持中文空格   等 ...

随机推荐

  1. [luogu6702]Path

    维护每一个点到根路径的异或和(记作$d_{k}$),根据异或自反性,$(x,y)$的异或和即$d_{x}\oplus d_{y}$ 考虑两条路径的lca,选择其中深度较大的点,另一条路径必然在其子树外 ...

  2. [atAGC048E]Strange Relation

    考虑对于$\{a_{i+1},...,a_{n}\}$,在其前面插入$a_{i}$对$x_{i}$的影响(不考虑$a_{1}$到$a_{i-1}$): 1.$x_{i}=0$,因为其前面没有数字了 2 ...

  3. [atACL001F]Center Rearranging

    有一个(比较显然又有点假的)结论:最优方案中(若存在),每一个数(指$3n$个)最多被移动1次 先$o(n^{2})$枚举移动到队首和队尾的操作次数(即目标状态的一个前缀和后缀),判定能否合法 首先, ...

  4. 如何解决 ASP.NET Core 中的依赖问题

    依赖性注入是一种技术,它允许我们注入一个特定类的依赖对象,而不是直接创建这些实例. 使用依赖注入的好处显而易见,它通过放松模块间的耦合,来增强系统的可维护性和可测试性. 依赖注入允许我们修改具体实现, ...

  5. Yarp 让系统内调度更灵活

    简介 Yarp 是微软团队开发的一个反向代理组件, 除了常规的 http 和 https 转换通讯,它最大的特点是可定制化,很容易根据特定场景开发出需要的定制代理通道. 详细介绍:https://de ...

  6. [NOI2021] 量子通信

    嗯. NOI2021最白给的一题. PS:很后悔没打同步赛,少了一张同步赛Ag 考虑加黑的256位01串,我们思考一下. 因为\(k\)小于16,所以我们直接分成16块.所以一定可以的绝对有一块是完全 ...

  7. Atcoder Grand Contest 031 D - A Sequence of Permutations(置换+猜结论)

    Atcoder 题面传送门 & 洛谷题面传送门 猜结论神题. 首先考虑探究题目中 \(f\) 函数的性质,\(f(p,q)_{p_i}=q_i\leftarrow f(p,q)\circ p= ...

  8. BZOJ 3694&&DTOJ 1972: 最短路

    题目描述 给出一个n个点m条边的无向图,n个点的编号从1~n,定义源点为1.定义最短路树如下:从源点1经过边集T到任意一点i有且仅有一条路径,且这条路径是整个图1到i的最短路径,边集T构成最短路树. ...

  9. 【6】蛋白质组学鉴定定量软件之MaxQuant

    目录 1.简介 2.下载安装 3.配置与运行 4.结果 5.Perseus后处理 6.小结 1.简介 2016年,德国马普所的Cox和蛋白质组学领域巨擘Matthias Mann合作开发了MaxQua ...

  10. Xwiki——实现

    基于CentOS6.9 yum install java wget http://download.forge.ow2.org/xwiki/xwiki-enterprise-installer-gen ...