javascript由几部分组成?

时间: 2019-11-27阅读: 1489标签: js知识

JavaScript有三部分组成。分别为核心(ECMAScript) 、文档对象模型(DOM)、浏览器对象模型(BOM)。这三部分分别描述了该语言的语法和基本对象、处理网页内容的方法和接口、与浏览器进行交互的方法和接口。


一.ECMAScript(核心)

注意:

1、ECMAScript与Web浏览器没有依赖关系,浏览器只是ECMAScript实现的宿主环境之一

2、定义的仅仅是语言基础,比如一些语法,类型,语句,关键字,保留字,操作符,对象...

3、宿主环境提供了该语言的基本实现和扩展,比如DOM

4、其他宿主环境

Node:服务器端的JavaScript平台

Adobe Flash


二、DOM(文档对象模型)
1、功能

(1) 把整个页面映射成为一个多层节点结构

(2) 然后提供了一套对这些节点(内容)增删改查的方法

2、DOM级别

(1)DOM1

  • DOM Core 如何映射基于XML的文档结构

  • DOM html 添加了针对html的对象和方法

(2)DOM2

扩充了鼠标和用户界面事件, 范围,遍历等细分模块,通过对象接口增加了对css的支持。

具体如下:

  • DOM视图:定义了跟踪不同文档视图的接口

  • DOM事件:定义了事件和事件处理的接口

  • DOM样式:定义了基于css, 操作元素样式的接口

  • DOM遍历和范围:a.定义了遍历和操作文档树的接口b.新增了验证文档的方法

(3)DOM3

引入了以统一方式加载和保存文档的方法

3、注意

针对于XML但经过扩展,用于HTML的应用程序编程接口(API),不只是针对于JavaScript的, 很多其他语言也实现了DOM。


三.BOM(浏览器对象模型)

1、作用

  • 处理浏览器窗口和框架

  • 针对于浏览器操作的js扩展

2、具体功能

  • 弹出新浏览器窗口的功能

  • 移动,缩放和关闭浏览器窗口的功能

  • 提供浏览器详细信息的navigator对象

  • 提供浏览器所加载页面的详细信息的location对象

  • 提供用户显示器分辨率详细信息的screen对象

  • 对cookie的支持

  • XMLHttpRequest -- ActiveXObject


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: http://www.fly63.com/article/detial/7914

js中减少使用不必要的if-else或switch_利用数组/对象代替if-else,switch

无论使用if-else,还是switch。当条件多的时候代码显得非常冗长,而且每次添加条件时需要修改主流程的代码,这样就破坏了类的开闭原则。为解决日后的维护可能存在问题,我们可以采用另一种比较优雅的实现方式来替换if-else,switch吗?

基于规则评分的密码强度检测算法分析及实现(JavaScript)

用正则表达式做用户密码强度的通过性判定,过于简单粗暴,不但用户体验差,而且用户帐号安全性也差。那么如何准确评价用户密码的强度,保护用户帐号安全呢?本文分析介绍了几种基于规则评分的密码强度检测算法

Javascript实现模仿接口的3种方式

Javascript模仿接口可以有三种方式:1.注释法,此方法属于程序文档范畴,对接口的继承实现完全依靠程序员自觉 2.检查属性法,把要实现的接口方法添加到类属性列表里,通过定义好的检测反复检查是否已经实现了那些方法 3.鸭式辨形法

深入理解javascript中的事件循环event-loop

人们把javascript调控同步和异步任务的机制称为事件循环,首先来看事件循环机制的可视化描述,主线程运行的时候,产生堆和栈,栈中的代码调用各种外部API,异步操作执行完成后,就在消息队列中排队。

javascript不可变性是什么?

不可变性即某个变量在进行了某个操作之后,其本身没有发生变化,比如对于字符串而言,对字符串的任何操作都会改变字符串本身的值,而是在字符串的基础上复制出来一个然后再改变,这样我们就说是不可变的

(...)这三个点在JavaScript中意味着什么?

解释JavaScript中三个点的作用:数组/对象扩展运算符、rest运算符(使用函数的参数时,无论是完全替换参数还是与函数的参数一起替换参数,这三个点也称为rest运算符)

js原型链,Javascript重温OOP之原型与原型链

js的原型链,得出了一个看似很简单的结论。对于一个对象上属性的查找是递归的。查找属性会从自身属性(OwnProperty)找起,如果不存在,就查看prototype中的存在不存在。

用js打印hello world,JavaScript中你不知道的实现方式

如何使用js很装X的打印“hello world”,代码长短不重要,下面就整理一些实现方式。

avaScript与WebAssembly进行比较+在哪些情况下会优于JavaScript

这是专门探索JavaScript及其构建组件的系列,在识别和描述核心元素的过程中,我们还分享了构建SessionStack时使用的一些经验法则,这是一个轻量级但健壮且高性能的JavaScript应用程序,以帮助用户实时查看和重现其Web应用程序的缺陷。

JavaScript中的循环和作用域

JavaScript有一个特点,也许会让开发者头痛, 是与循环和作用域相关的.const。最简单的方案是用 let 声明、另外一个非常普遍的解决这个问题是使用pre-ES6代码, 同时它被称作即时调用函数表达式(IIFE)

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!