JavaScript实现
一个人完整的JavaScript实现应该由下列三个不同的部分组成。
1.核心(ECMAScript);
由ECMA-262定义,提供核心语言功能; ECMAScript与Web没有依赖关系。 我们常见的Web浏览器只是ECMAScript实现可能的宿主环境之一。宿主环境不仅提供基本的ECMAScript实现的,同时也会提供该语言的扩展,以便语言与环境之间对接交互。
它规定了这们语言的下了组成让部分: 语言,类型,语句,关键字,保留字,操作符,对象。 ECMAScript就是对实现标准规定的各个方面内容的语言的描述。
2.文档对象类型(DOM);
提供访问和操作浏览器页面内容的方法和接口; (Document Object Model) 是针对XML但经过扩展用于HTML的应用编程接口(API Application Programming Interface) DOM把整个页面映射为一个多层节点结构。HTML 或者XML 页面中每个组成部分都是某种类型的节点。 这些节点节点又包含着不同类型的数据。
通过DOM创建的这个表示文档的树形图,开发人员获得了控制页面内容和结构的主权。借助DOM提供的API,开发人员可以轻松的删除,添加。替换,或者修改任何节点。
3.浏览器对象模型(BOM);
提供与浏览器交互的方法和接口; (Browser Object Model) 开发人员使用BOM可以控制浏览器显示的页面以外的部分。BOM只处理浏览器窗口和框架。但人们先习惯性上也把所有针对浏览器的JavaScript扩展算作BOM的一部分。 下面就是这样的扩展:
- 弹出新的浏览器窗口的功能。
- 移动 缩放 关闭浏览器窗口的功能。
- 提供浏览器详细信息的navigator对象。
- 提供浏览器所加载页面的详情信息的location 对象。
- 提供用户显示器分辨率详细信息的screen 对象。
- 对cookies的支持。
- 像XMLHttpRequest 和IE 的ActiveXObject 这样自定义对象。
由于没有BOM标准可以遵循,因此每个浏览器都有自己的实现。
JavaScript实现相关推荐
- 【AJAX】JavaScript的面向对象
Ajax中后端数据返回后需要前端通过JavaScript来实现动态数据更新的问题.所以,在Ajax中加深了一遍JavaScript面向对象的印象. 基础部分: JavaScript中创建对象并简单对象 ...
- 【JavaScript总结】JavaScript语法基础:JS高级语法
作用域链: 1.JS中只有函数能够限定作用域的范围: 2.变量处理在制定的函数范围内,还有一个特殊的作用域,就是没有用var 声明的全局作用域 3.js中的作用域链是为了清晰的表示出所有变量的作用范围 ...
- 【JavaScript总结】JavaScript语法基础:DOM
->DOM的理解:文档对应dom树 ->有了DOM能做什么:DOM的操作 html文档做为DOM树模型,DOM树的节点就是对象.对象会触发事件来执行一些事件代码. C#中的事件是一个委托变 ...
- 【JavaScript总结】JavaScript语法基础:JS编码
运算符 数学:+. -. *. / 逻辑:>. < .>= .<=. == . !=.&&.|| . === .!==(完全等于) 对象相关 new delet ...
- 【JavaScript总结】JavaScript语法基础:数据类型
------>数据类型有哪些? ->基本类型:数字类型,布尔类型,字符串类型 ->引用类型:对象类型,函数类型 ->空类型:null 和 undefined ->运算符: ...
- 【JavaScript总结】JavaScript发展与学习内容
发展: 最初浏览器是为大学里浏览文档用,从地址栏输入文档地址,找到文档显示. 后来各种需求(购物网站,个人博客)出现,已有功能不能满足需求. 可人们依旧在努力满足这种需求,但实现后的效果很不尽人意. ...
- Python:模拟登录、点击和执行 JavaScript 语句案例
案例一:网站模拟登录 # douban.pyfrom selenium import webdriver from selenium.webdriver.common.keys import Keys ...
- [JavaScript] JavaScript数组挖掘,不只是讲数组哟(2)
课程来源:后盾人 上一篇的内容:[JavaScript] JavaScript数组挖掘,不只是讲数组哟 数组引用类型分析,多维数组,用Array.of为数组创建细节,类型检测与转换,在一个数组后面加一 ...
- [JavaScript] JavaScript 数组挖掘,不只是讲数组哟
课程来源:后盾人 数组引用类型分析 数组的定义 const array = new Array('hello', 'dust', 1, 2, 3, 4, 5) console.log(array) l ...
- linux下用js生成xml,js2xml:将javascript字符串转换为xml
有时候爬数据遇到像下面这种,数据在script标签中以javascript形式存在. var totalReviewsValue = 32; var averageRating = 4.5; if(t ...
最新文章
- python xmxl 无法启动_Python小白到老司机,快跟我上车!基础篇(三)
- 【Linux】一步一步学Linux——logname命令(109)
- 高等数学上-赵立军-北京大学出版社-题解-练习5.4
- OC Swift中UITextFiled、UITextView限制输入字数
- pgsql 前10条_未来3年,广州83条城中村、285个旧街区将迎来改造
- thinkphp中的session的使用和理解!
- 0基础学python要多久-零基础学习python,要多久才可以学好并且找到工作?
- QQ文件保险柜与Truecrypt之对比.
- 信度spss怎么做_毕业季:毕业论文利用spss做信度分析步骤详解
- 循环结构--while循环
- linux系统支持网银吗,Linux系统能使用网银吗?
- HDU5855(最大权闭合图构图技巧+裸的最大流)
- 可能是讲分布式系统最到位的一篇文章
- 2017年总结:人生百味,有你真好
- X-Space二级(三级)域名配置
- 数据库安全性案例分享
- java 字符串掐头去尾_Java 8 Stream 简单介绍
- mysql为什么用B+树
- 碰撞检测——刚体加力
- hdu 4417 Super Mario
热门文章
- android Intent调用地图应用客户端
- NiuMu PayPal/Stripe轮询系统 亲友转账模式同步回调支付结果
- Node.js meitulu图片批量下载爬虫1.04版
- 七周成为数据分析师(秦路)-第一周-数据分析思维
- 2020年G3锅炉水处理证模拟考试题库及G3锅炉水处理理论考试试题
- 电容或电感的电压_为什么并联电容器可以提高功率因数,而串联不行?
- win10+Ubuntu20.04双系统安装
- 卧槽,物色了一款隐秘拍摄神器,别乱用!
- 带你实战Android深色模式,深入原理剖析
- QGIS3.20 制作栅格动画