JavaScript,倘若顾名思义,似乎就是Java语言的某种轻量级的脚本语言。而事实上,JavaScript这门语言的初衷也的确如此。
首先,与Java类似,JS也源于C或者C++,用 {}标记statement,而用;标记expression;
其次,JS的最初定位是成为能运行在Web上的轻量级Java语言,面向熟悉Java语言的用户;
最后,讨个好的口彩,1995年JS诞生之际,Java正红。
然而,另外一个事实却是,JS既不是Java也不是轻量级(如Python)一般的Script脚本语言。
另外,JavaScript是Oracle的注册商标,因此常常以简写的JS代替,或者在标准文件中代之以ECMAScript。
JavaScript的技术规范由TC39委员会全面掌舵(50~100人分别来自浏览器厂家,设备厂家等)。他们每两个月开会一次,讨论所有的Proposals进展。
提出的Proposals分为5个阶段,Stage0,Stage1,Stage2,Stage3,Stage4;并在Github上开源探讨。
得益于TC39技术委员会对标准的出色维护,JS只有一个版本。这一点与完全由社区驱动的Python的散兵游勇有着本质的区别。
虽然JS语言持续开疆拓土,从浏览器到服务器,到机器人,到灯光照明等等,但其规范主要针对于浏览器而言。
编程语言有三种Paradigm(范式)-- procedural, object-oriented (OO/classes), and functional (FP)。比如C语言是Procedural-Paradigm,而Java/C++则是OO-Paradigm,Scheme是FP-Paradigm。
JS颇具灵活性,是多范式的语言,因此得以博采众家之所长。
最后我们需要厘清一点,JS到底是解释语言还是编译语言。乍一看,JS似乎是为“编译语言”所鄙视的“解释语言”。
意外之喜是JS是编译语言,因此就性能而言,有着无限光明的前途。
avaScript是一种客户端脚本语言,还可以使用Node.js将其用作服务器端语言。我们称之为脚本语言,因为它在执行之前不需要编译。
在运行时,每个命令或行都会被解释,用JavaScript编写的程序都是脚本。浏览器支持这些脚本,并直接执行和解释它们,你可以用JavaScript创建动态网页。
比如说,你可以制作动画图形,显示最新的新闻更新,在不重新加载问题的情况下更改内容,等等。但是,在JavaScript使用下可以访问上述功能。此外,你还可以将这些脚本同时嵌入浏览器可以解释的HTML页面中。JavaScript是一种多范式编程语言,因此它支持命令式、函数式和事件驱动风格。
为什么要使用JavaScript?
如今,JavaScript的需求量很高,因为之前它可以用于web应用程序和浏览器。它在软件、硬件控制和服务器方面的使用已经超越了网络。下面是定义JavaScript用途的基本方面:
互动和有趣的语言——它有一个全面的用户界面,你可以应用。JavaScript有一个易于部署且交互的图形用户界面。用户可以轻松编写在浏览器中操作的代码。通过这种方式,它将在学习过程中迅速建立有趣的项目。
一开始门槛很低——浏览器使用这种编程语言,而且很容易理解。因此,在开始之前不需要安装其他程序。
更高级的调试工具——web浏览器中内置了JavaScript解释器。此外,它允许你搜索并获得良好的反馈,帮助你更快地学习。
学习编程风格的基础——JavaScript支持事件驱动的软件设计风格,即通过用户或系统事件有组织地移动代码。这种编程对于构建uder接口来说是完全不必要的。此外,它在设计可伸缩的服务器端系统时是一种非常合作的范例。
强大的学习支持——每个浏览器都有一个源代码,其功能允许一个浏览器从另一个浏览器的实时编码中学习。你还可以在JavaScript的生态圈中获得库代码的动态存储库。JavaScript社区中有支持的人,他们积极分享代码。
丰富的界面——JavaScript非常适合拖放组件或滑块。此外,它还有助于为网站访问者提供良好的界面。
了解更多
avaScript最初诞生于1995年,开始是为了处理由服务端语言负责的一些输入验证操作,减少与服务器的数据交换。现在的JavaScript已经成为一门功能全面的编程语言,能够处理复杂的计算和交互,拥有了闭包、匿名(lamda)函数,甚至元编程等特性,已经成为Web的一个重要组成部分。
JavaScript从一个简单的输入验证器发展成为一门强大的编程语言,是完全出乎人们的意料。严格来说它既是一门非常简单的语言,又是一门非常复杂的语言。说它简单,是因为学会使用它只需片刻功夫;而说它复杂,是因为要真正掌握它则需要数年时间。要想全面理解和掌握JavaScript,关键在于弄清楚发展历史和本质。
在JavaScript诞生的时代,网络的速度还很慢,不像现在4G、5G这么普遍,百兆千兆宽带进入千家万户,为完成简单的表单验证而频繁地与服务器交换数据只会加重用户的负担,因此当时走在技术革新最前沿的Netscape公司,决定着手开发一种客户端语言,用来处理这些简单的验证。
当时Netscape公司的布兰登·艾奇(Brendan Eich),开始着手为计划于1995年2月发布的Netscape Navigator 2开发一种名为LiveScript的脚本语言,该语言将同时在浏览器和服务器中使用(它在服务器上的名字叫LiveWire)。为了赶在发布日期前完成LiveScript的开发,Netscape与Sun公司建立了一个开发联盟。在Netscape Navigator 2正式发布前夕,Netscape为了搭上媒体热炒Java的顺风车,临时把LiveScript改名为JavaScript。
由于JavaScript1.0获得了巨大成功,Netscape随即在Netscape Navigator3中又发布了JavaScript1.1。与此同时,微软决定向与Navigator竞争的自家产品Internet Explorer浏览器投入更多资源。Netscape Navigator3发布后不久,微软就在其Internet Explorer3中加入了名为JScript的JavaScript 实现。现在回头看,微软1996年8月为进入Web浏览器领域而实施的这个重大举措,是导致Netscape日后蒙羞的一个标志性事件。然而,这件事也标志着JavaScript作为一门语言,其开发向前迈进了一大步。
微软推出其JavaScript实现意味着有了两个不同的JavaScript版本,由于当时还没有标准规定JavaScript的语法和特性,两个不同版本并存的局面已经完全暴露了这个问题。随着业界担心的日益加剧,JavaScript的标准化问题被提上了议事日程。
1997年,以JavaScript 1.1为蓝本的建议被提交给了欧洲计算机制造商协会(ECMA)。该协会指定39号技术委员会(TC39) 负责“标准化一种通用、跨平台、供应商中立的脚本语言的语法和语义”。他们经过数月的努力完成了 ECMA-262——定义一种名为 ECMAScript的新脚本语言的标准。自此以后,浏览器开发商就开始致力于将ECMAScript作为各自JavaScript实现的基础,也在不同程度上取得了成功。
一个完整的JavaScript实现应该由下列三个不同的部分组成
ECMAScript与Web浏览器没有依赖关系,但是我们常用的Web浏览器只是ECMAScript实现可能的宿主环境之一。宿主环境不仅提供基本的ECMAScript实现,同时也会提供该语言的扩展,以便语言与环境之间对接交互。而这些扩展——如DOM,则利用ECMAScript的核心类型和语法提供更多更具体的功能,以便实现针对环境的操作。其他宿主环境如Node。
ECMA规定了一门语言的下列组成部分:
ECMAScript就是对实现该标准规定的各个方面内容的语言的描述。
文档对象模型(DOM,Document Object Model)是针对XML但经过扩展用于HTML的应用程序编程接口(API,Application Programming Interface)。DOM把整个页面映射为一个多层节点结构。HTML或XML页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。
<html>
<head>
<title>Sample Page</title>
</head>
<body>
<p>Hello World!</p>
</body>
</html>
DOM1级(DOM Level 1)于 1998年10月成为W3C的推荐标准。DOM1级由两个模块组成:DOM核心(DOM Core)和 DOM HTML。其中,DOM核心规定的是如何映射基于XML的文档结构,以便简化对文档中任意部分的访问和操作。DOM HTML 模块则在DOM核心的基础上加以扩展,添加了针对HTML的对象和方法。
开发人员使用 BOM 可以控制浏览器显示的页面 以外的部分。而 BOM 真正与众不同的地方(也是经常会导致问题的地方),还是它作为 JavaScript 实现 的一部分但却没有相关的标准。这个问题在 HTML5 中得到了解决,HTML5 致力于把很多 BOM 功能写 入正式规范。HTML5 发布后,很多关于 BOM 的困惑烟消云散。
从根本上讲,BOM只处理浏览器窗口和框架;但人们习惯上也把所有针对浏览器的JavaScript扩展算作BOM的一部分。下面就是一些这样的扩展:
由于没有BOM标准可以遵循,因此每个浏览器都有自己的实现。虽然也存在一些事实标准,例如 要有window对象和navigator对象等,但每个浏览器都会为这两个对象乃至其他对象定义自己的属性和方法。
作为Netscape“继承人”的Mozilla公司,是目前唯一还在沿用最初的JavaScript版本编号序列的浏览器开发商。在Netscape将源代码提交给开源的Mozilla项目的时候,JavaScript在浏览器中的最后一个版本号是1.3。后来,随着Mozilla基金会继续开发JavaScript,添加新的特性、关键字和语法,JavaScript的版本号继续递增。下表列出了JavaScript版本号对应各浏览器的递增过程:
JavaScript是一种专为与网页交互而设计的脚本语言,由下列三个不同的部分组成:
JavaScript的这三个组成部分,在当前五个主要浏览器(IE、Firefox、Chrome、Safari和Opera)中都得到了不同程度的支持。
*请认真填写需求信息,我们会在24小时内与您取得联系。