欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

学习 javascript (一)javascript 简介

程序员文章站 2022-04-09 18:14:47
javascript 从一个简单的输入验证器发展成为一门强大的编程语言。 历史 以前我们输入一个表单,点击完提交后,服务器发送反馈给我们。比如填写姓名的时候,我们在前端不能限定人们只能输入汉字,需要服务器告诉我们:你丫错了,又输入数字了!! Netscape 公司决定着手开发一种客户端语言,用来处理 ......

javascript 从一个简单的输入验证器发展成为一门强大的编程语言。

历史

以前我们输入一个表单,点击完提交后,服务器发送反馈给我们。比如填写姓名的时候,我们在前端不能限定人们只能输入汉字,需要服务器告诉我们:你丫错了,又输入数字了!!

netscape 公司决定着手开发一种客户端语言,用来处理简单的验证,命名为 livescript, 后来发展成为我们的 javascript 。

那么为什么叫 javascript ? 而不叫“张三script”、“李四script”, 导致现在有的人还以为 javescript 是 java 的小弟。请看下面分解:

在 1995 年 sun 公司将 oak 语言改名为 java ,正式向市场推出。 sun 公司大肆宣传,许诺这种语言可以"一次编写,到处运行"( write once , run anywhere ),它看上去很可能成为未来的主宰。历史证明,到现在 java 只是处于重要的位置,编程语言百家争鸣。

总之, java 当时火得一塌糊涂,netscape 公司内部的高管一个个像着魔一样,相信 java 是世界上最好的语言。于是,让 livescript 改名为 javascript,有点像今天的蹭热点。

后来 javascript 发展成三个不同的版本: netscape navigator 中的 javascript、internet explorer 中的 jscript 以及 scriptease 中的 cenvi。三足鼎立的局面缺乏标准,随着业界不断的前进,它们之间的矛盾日益加剧,急需标准化。

1997 年,有个协会叫做欧洲计算机制造商协会(ecma,european computer manufacturers association)接受了 javascript 1.1 版本的建议,然后这个协会指定第 39 号技术委员会(tc39, technical committee #39)负责将 javascript 标准化。

标准化关乎各个公司的利益,所以这个 39 号技术委员会的成员不外乎这几个主要公司的人:netscape、sun、微软、borland 以及其他关心脚本语言的几个公司。

经过数月的讨论和修改,终于完成了代号为 “ecma-262”的新脚本语言——ecmascript。第二年,iso/iec 也采用了这个标准,iso 被大家所熟知,就是国家标准化组织(international standardization organization),而 iec 指的是国际电工技术委员会(international electrotechnical commission) 。

从此,世界各地的浏览器开发上都在这个标准的基础上做文章。目前,javascript 这个名称还在用, ecmascript 则更多出现在标准化文件上,比如 es6 表示的就是国际标准中的 ecmascript 6, 它于 2015 年通过。

实现

javascript 的实现需要三个部分组成:分别是 ecmascript(核心)、dom(document object model,文档对象模型)、bom(browser object model,浏览器对象模型)。

在厘清他们之间关系之前,我们需要明白的是:

  • ecmascript 和 web 浏览器没有任何依赖关系,web 浏览器仅仅是实现 ecmascript 的宿主环境之一,其他环境还有 node (服务端)、adnode flash。
  • dom 是 w3c 的标准(所有浏览器公共遵守的标准),提供了访问和操作网页内容的方法和接口。
  • bom 是各个浏览器厂商根据 dom 在各自浏览器上的实现,提供了与浏览器交互的方法和接口。
  • window 是 bom 对象,而非 javascript 对象,不过恰好为 emcascript 中所定义的 global 对象。

ecmascript 可以操作 bom 中的 window 对象,而 window 对象中包含了 document (dom 的根节点), 那么 ecmascript 就可以间接地操作 dom。从而,ecmascript 可以操作浏览器本身以及浏览器读取到的文档结构。

由于每个公司的浏览器对 ecmascript 的兼容,以及对bom 、dom 的支持程度不同,很多语法特性、接口兼容程度不尽相同。所以,前端工程师面临着巨大的兼容性挑战,这里给出一个可以查看各个浏览器兼容情况的工具 caniuse,可以查询 css、html、js、js api 等等在各个浏览器上的兼容情况。

学习 javascript (一)javascript 简介


学习 javascript (一)javascript 简介

欢迎大家关注微信公众号:可视化技术( visteacher )

不仅有前端和可视化,还有算法、源码分析、书籍相送

个人网站:kurryluo's website

各个分享平台的 kurryluo 都是在下。

用心学习,认真生活,努力工作!