好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

什么是 JavaScript

什么是 JavaScript

JavaScript ( JS ) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。(MDN)JavaScript 是一种编程语言,主要参与构建 Web 前端应用。

1. JavasScript 的由来

早期的浏览器是不具备与用户交互能力的,可以想象一下,在那个电话拨号上网的年代,带宽只有 56Kbps,也就是意味着标准最高下载速率只有 8KB/s。在这个速度下,表单提交就是噩梦般的存在。

例如报名考试,就需要填写非常多内容,当用户花了十几分钟找各种资料填写表单后,点击提交就要等待十几秒甚至更多。假如这时表单信息出错,如身份证没核对仔细少了一位,整个页面就会做刷新操作,表单需要重新填写。这是一个比较典型的场景。当时最火的浏览器 Navigator 的开发公司 netscape 就因这些问题,急需一个浏览器使用的脚本语言,让运行在浏览器上的网页可以做一些交互。netscape 因为有这个需求,招聘了 Brendan Eich , Brendan Eich 进公司后就开始研究使用 Scheme 语言作为在网页中使用的脚本语言的可能性。但是由于当时 Java 爆火,netscape 又在于开发了 Java 的 Sun 公司合作,就想让这个脚本语言要足够像 Java,但是又要比 Java 简单。然后 Brendan Eich 就被指定开发这个“简易 Java”。

image.png

Brendan Eich

一段时间之后 JavaScript 也就诞生了。后续 netscape 将 JavaScript 交给了 ECMA 组织进行标准化,编号为 262,也就是说现在的 JavaScript 实际上是 ECMA-262 标准的实现。

2. 与 Java 的区别

通过JavaScript的由来可以知道,两个语言本质上没有太大的关系,仅仅只为了让他们像,才让 JavaScript 的名字中有了 Java ,才让他的内部的一些设计机制像 Java。事实上 JavaScript 上在设计上还融合了C语言的语法,Self语言的原型设计等。

3. JavaScript 的主要应用

以下列举的各个场景不仅仅是需要掌握 JavaScript ,还需要很多知识点与技术栈来共同协作完成,但是 JavaScript 是必不可少的技术栈。

3.1 网页开发

网页开发的基本三大件为 HTML、CSS、JavaScript,如果将 HTML 比作骨架,CSS 比作皮肤,那 JavaScript 就是可以让骨架动起来,改变皮肤性状的存在。现代的前端应用离不开 JavaScript ,随着浏览器的性能越来越好,产品交互越来越复杂,JavaScript 的地位也越来越高。表单验证、动画效果甚至 3D 应用,均可以由 JavaScript 来完成。

1.jpg

使用 WebGL 制作的 3D 应用,可以直接运行在现代浏览器

3.2 服务端应用开发

2009 年发布 Node.js 的发布,意味着前端程序员可以用较低的成本跨入服务端开发。Node.js 提供了开发服务端所需要的特性,如 HTTP 服务、本地文件读写操作等。开发者可以使用 JavaScript 语言开发 Node.js 应用。

image.png

Node.js

3.3 桌面应用开发

Electron 是由 Github 开发的,可以使用 HTML、CSS、JavaScript 来构建桌面应用的开源库。使用Electron就可以让前端开发者进行桌面端应用的开发。Visual Studio Code、Atom、Skype 等应用都是使用 Electron 开发的。

image.png

Electron

3.4 移动端应用开发

移动端应用也可以使用 JavaScript 进行开发,如 React Native 或者 Weex 等框架。


image.png

Weex 框架

4. 适合群体

本篇 Wiki 主要为 ECMAScript262 第五版内容,适合初学者学习或者进行知识点查阅。


5. 前置知识

章节中的例子可能会涉及部分 HTML 与 CSS 的知识点,所以需要了解或者掌握一些 HTML、CSS 相关的内容作为前置知识。


查看更多关于什么是 JavaScript的详细内容...

  阅读:63次

上一篇

下一篇

第1节:什么是 JavaScript    第2节:学习环境准备    第3节:调试方案    第4节:JavaScript 变量    第5节:JavaScript 数据类型    第6节:JavaScript if 语句    第7节:for 语句    第8节:JavaScript 算数运算符    第9节:JavaScript 比较运算符    第10节:JavaScript 逻辑运算符    第11节:JavaScript 函数    第12节:JavaScript 表达式    第13节:JavaScript 对象    第14节:JavaScript 字符串    第15节:JavaScript 数字    第16节:JavaScript 数组    第17节:JavaScript switch 语句    第18节:JavaScript while 语句    第19节:JavaScript 的 break 与 continue    第20节:JavaScript with    第21节:document.cookie    第22节:JavaScript Function    第23节:JavaScript Math    第24节:JavaScript Date    第25节:JavaScript RegExp    第26节:JavaScript JSON    第27节:什么是 DOM    第28节:DOM 和 JavaScript 的关系    第29节:获取和操作 DOM 节点    第30节:DOM 与事件    第31节:DOM 事件绑定    第32节:DOM 事件对象    第33节:DOM 事件流    第34节:事件相关的优化    第35节:自定义事件    第36节:表单校验    第37节:什么是 BOM    第38节:常用的 BOM 相关对象    第39节:BOM 常用属性和方法    第40节:AJAX    第41节:异常处理    第42节:三元运算符    第43节:逗号操作符    第44节:void    第45节:typeof    第46节:delete 操作符    第47节:debugger    第48节:getter & setter    第49节:new 运算符与构造函数    第50节:JavaScript 原型    第51节:JavaScript instanceof    第52节:JavaScript this    第53节:严格模式    第54节:作用域    第55节:闭包    第56节:变量提升    第57节:对象包装器    第58节:Lodash    第59节:moment    第60节:swiper    第61节:ECMAScript 6    第62节:Node.js    第63节:Babel    第64节:CSS 预处理器    第65节:代码规范    第66节:TypeScript    第67节:WebComponents    第68节:Vue、React、Angular    第69节:小程序    第70节:JavaScript 关键字    第71节:分号导致的问题    第72节:对象属性访问问题    第73节:this 使用问题    第74节:浮点数精度问题    第75节:独一无二的 NaN    第76节:避免全局污染    第77节:控制台观察对象问题    第78节:根据环境选择语言特性    第79节:相关资源