让你简洁清晰真正的了解什么是JavaSCript

时间:2022-10-12 13:34:49

学习JavaScript高级程序设计第三版第一步。JavaScript简介不光在这一本说介绍,很多书都提及到,我就简单的把重点记录下来,当做整理吧,以便自己及大家观看。

1995年,我出生了,JavaScript也诞生了,JavaScript现在这么强大而且受欢迎,而我却默默无闻,等我把JavaScript学的很牛X的时候希望我也很厉害了哦,起初Netscape Navigator用它完成基本的数据验证任务,而如今具备了与浏览器窗口及其内容等方面所有的交互,拥有了闭包,匿名函数,甚至元编程等特性,听起来这么高大上的东西我就想知道他们的欲望都变强了。

JavaScript简史

1,起初浏览器提交表单,等30秒没有反应,说明你表单中一个字段没有填写好。

2,1995年, Netscape也就是美国网景公司,建立了LiveWire,为了发布和sun公司合作,起名为JavaScript。

3,1996年的时候,微软推出3中不同的JavaScript。1997年经欧洲计算机制造商协会ECMA组织,当时各大公司程序员数月,完成了ECMA-262来定义了ECMAscript。

4,第二年ISO/IEC,国际标准化组织和国际电工委员会,也采用ECMAscript作为标准,讲ECMAscript成为了JavaScript实现的基础。

JavaScript实现

通过简史我们知道,ECMAscript成为了JavaScript实现的基础,一个完整的JavaScript实现由三个不同的部分组成。

1,核心(ECMAscript)   2,文档对象模型(DOM)    3,浏览器对象模型(BOM)

 ECMAscript

大致来说ECMAscript规定了下列组成部分:语法,类型,语句,关键字,保留字,操作符,对象。和web浏览器没有关系,web浏览器就是他的宿主环境,提供基本实现提供语言的扩展,以便语言和环境对接交互,如DOM操作。根据ECMAscript版本改动,从统一一致到兼容,增加正则,语法,数据结构,继承,数据交互新方式等等,成为了一门强大的编程语言。

DOM

文档对象模型(DOM,Document Object Model)是针对XML但经过扩展用于HTML的应用程序编辑接口(API)。DOM把整个页面映射为一个多层次节点结构。每个组成部分都是某种类型的节点,而节点包含不同的类型结构。

根据DOM控制页面的内容和结构的主动权,借助DOM提供的API,开发人员可以*的增删改查任何节点。

DOM也是分级别的。

DOM1由DOM核心和DOM HTML组成。1,核心规定如何映射基于XML的文档结构。2,添加针对HTML的对象方法。

DOM2扩展了鼠标和用户界面事件,范围,遍历,等细分模块。而且通过对象对CSS的支持。

DOM2新类型新接口也给了定义。1, DOM视图:定义跟踪不同的文档视图的接口。2, DOM事件:定义事件与事件处理的接口。3, DOM样式:定义了css元素应用样式的接口。4, DOM遍历和范围:定义遍历和文档树的接口。

DOM3也是对 DOM核心进行扩展。

 BOM

浏览器对象模型BOM.

从根本上讲,BOM只处理浏览器窗口与框架。人们习惯性的把所有针对浏览器的javascript扩展算BOM的一部分,例如这些扩展。

1,弹出新浏览器窗口的功能。

2,移动缩放关闭浏览器窗口的功能。

3,提供浏览器详细信息的navigator对象。

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

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

6,对cookies支持。

7,像XMLHttpRequest与IE的ActiveXObejct这样的自定义对象.

总体来说javascript就是一种专为网页设计的脚本语言。

ECMAScript,由ECMA-262定义,提供核心语言功能。

DOM,提供访问和操作网页的内容的方法和接口。

BOM ,提供浏览器交互的方法和接口。

让你简洁清晰真正的了解什么是JavaSCript的更多相关文章

  1. 如何写出小而清晰的函数?(JS 版)

    本文以 JavaScript 为例,介绍了该如何优化函数,使函数清晰易读,且更加高效稳定. 软件的复杂度一直在持续增长.代码质量对于保证应用的可靠性.易扩展性非常重要. 然而,几乎每一个开发者,包括我 ...

  2. C11简洁之道:初始化改进

    1.  C++98/03初始化 我们先来总结一下C++98/03的各种不同的初始化情况: //普通数组 ] = {, , }; //POD(plain old data) struct A { int ...

  3. ES6 新特性

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...

  4. seajs的使用

    写在前面 seajs是什么? Seajs是一个js文件加载器. 遵循 CMD 规范模块化开发,依赖的自动加载.配置的简洁清晰. 用于Web开发的模块加载工具,提供简单.极致的模块化体验 一:使用 文件 ...

  5. 【原】Bootstrap+Knockout.JS+ASP.Net MVC3+PetaPOCO实现CRUD操作

    1.需求: 1.1)页面要美观大气 1.2)前端代码要简洁清晰,要用MVC或是MVVM框架 1.3)服务端要用MVC框架,要Rest风格 1.4)数据访问要用ORM 2.效果: 2.1)列表 2.2) ...

  6. 【原】移动web资源整理

    2013年初接触移动端,简单做下总结,首先了解下移动web带来的问题 设备更新换代快——低端机遗留下问题.高端机带来新挑战 浏览器厂商不统一——兼容问题多 网络更复杂——弱网络,页面打开慢 低端机性能 ...

  7. 前端之JavaScript基础

    前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...

  8. javascript 基础

    javascript概述: javascript历史: * 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEas ...

  9. 最常用的ES6特性(转)

    最常用的ES6特性 let, const, class, extends, super, arrow functions, template string, destructuring, defaul ...

随机推荐

  1. ABP JTable如何手动刷新子表数据

    function getSubMaster() { _$masterTable.find('.jtable-child-table-container').jtable('reload'); }

  2. Python学习(20)python操作mysql数据库_安装

    win7系统下python3.4连接mysql数据库 1.到python官方网站下载最新python程序.根据系统有32,64位. 直接下一步,就可以安装成功.     2.在python官网中去下载 ...

  3. CH Round #58 - OrzCC杯noip模拟赛day2

    A:颜色问题 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2358%20-%20OrzCC杯noip模拟赛day2/颜色问题 题解:算一下每个仆人到它的目的地 ...

  4. android程序启动画面之Splash总结[转]

    方法一: 很多应用都会有一个启动界面.欢迎画面慢慢隐现,然后慢慢消隐.实现这种效果的方法有两种(暂时只发现两种)1.使用两个Activity,程序启动时候load第一张Activity,然后由tick ...

  5. rjs 合并压缩完 js 后 js 不压缩的问题

    线下用 requirejs 开发完后,代码上线前要用 rjs 将多个有依赖关系的 js 文件压成一个,然后某天居然发现压成一个的 js 文件,没有压缩!!!几万行的 js!!! 很显然,是 uglif ...

  6. MyElasticsearch

    目录 那些必须要知道的事儿 搭建elasticsearch环境 快速上手 elasticsearch分析数据的过程漫谈 建议器:Suggester IK中文分词器 elasticsearch for ...

  7. 安装好ubuntu 18.10之后,屏幕一直在自动旋转,怎么办?

    sudo apt-get install okular dia gimp Gparted sudo add-apt-repository universesudo apt install gnome- ...

  8. mysql的基础增删改查(一)

    修改,操作表:1.建表:create table MyClass(id int(4) not null primary key auto_increment,name char(20) not nul ...

  9. 二、tcp/ip基础知识

    一.TCP/IP的标准化 1.TCP/IP的含义 一般来说,TCP/IP是利用IP进行通信时所必须用到的协议群的统称. 具体点,IP或ICMP.TCP或UDP.TELENT或FTP.以及HTTP等都属 ...

  10. tensorflow tensor 索引

    问题: self.q_eval4next: (100,2) ix=[0,1,0,1---0,1](100,1) 我想取q_eval4next[:,idx] #use_doubleQ 切片用!!!! s ...