1、JavaScript(JS) 简介
JavaScript最初由Netscape的Brendan Eich设计,最初将其脚本语言命名为LiveScript,后来Netscape在与Sun合作之后将其改名为JavaScript。JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自Java,但JavaScript的主要设计原则源自Self和Scheme。JavaScript与Java名称上的近似,是当时Netscape为了营销考虑与Sun微系统达成协议的结果。微软同时期也推出了JScript来迎战JavaScript的脚本语言。
发展初期,JavaScript的标准并未确定,同期有Netscape的JavaScript,微软的JScript和CEnvi的ScriptEase三足鼎立。为了互用性,Ecma国际(前身为欧洲计算机制造商协会)创建了ECMA-262标准(ECMAScript),两者都属于ECMAScript的实现,尽管JavaScript作为给非程序人员的脚本语言,而非作为给程序人员的脚本语言来推广和宣传,但是JavaScript具有非常丰富的特性。 [10] 1997年,在ECMA(欧洲计算机制造商协会)的协调下,由Netscape、Sun、微软、Borland组成的工作组确定统一标准:ECMA-262。完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型,浏览器对象模型。 [9]
JavaScript是甲骨文公司的注册商标。Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程(Node.js)。
2、JavaScript(JS) 的优点和缺点
1)优点
速度:JavaScript往往非常快,因为它经常在客户端浏览器中立即运行。只要它不需要外部资源,JavaScript就不会因为调用后端服务器而变慢。此外,主流浏览器都支持JavaScript的JIT(即时)编译,这意味着在运行代码之前不需要编译代码。
简单:JavaScript的语法受到Java的启发,与其他流行的语言(如C++)相比,它相对容易学习。
流行:JavaScript在web上随处可见,随着Node.js的出现,越来越多的被用于后端。有无数的资源可以学习JavaScript。StackOverflow和GitHub都显示出越来越多的项目使用JavaScript。
互操作性:与PHP或其他脚本语言不同,JavaScript可以插入到任何网页中。由于其他语言(如Pearl和PHP)的支持,JavaScript可以用于许多不同类型的应用程序。
服务器负载:JavaScript是客户端,因此它从总体上减少了对服务器的需求,简单的应用程序可能根本不需要服务器。
扩展功能:JavaScript可以用来创建拖放等特性和滑块等组件,所有这些都极大地增强了用户界面和站点的体验。
通用性:可以通过Node.js服务器使用JavaScript。如果你想用Express引导Node.js,使用像MongoDB这样的文档数据库,并在客户端前端使用JavaScript,那么只用JavaScript就可以从前到后开发一个完整的JavaScript应用程序。
维护更新:自从ECMAScript 5 (JavaScript所依赖的脚本规范)问世以来,ECMA International一直致力于每年更新JavaScript。到目前为止,我们已经在2017年获得了对ES6的浏览器支持,并期待着在未来支持ES7。
2)缺点
客户端安全性:由于JavaScript代码是在客户端上执行的,所以错误和疏忽有时会被用于恶意目的。因此,有些人选择完全禁用JavaScript。
浏览器支持:虽然服务器端脚本总是产生相同的输出,但不同的浏览器有时会以不同的方式解释JavaScript代码。现在,差别已经很小了,只要在所有主流浏览器中测试脚本,就不必担心这个问题。
3、JavaScript(JS)语法与其他编程语言对比
1)JavaScript在运行时用即时(JIT)编译器解释和编译。
2)JavaScript是动态类型。
3)JavaScript最初设计用于支持浏览器中的HTML页面。但现在它在通过Node.js可以开发的服务器应用。
4)JavaScript使用花括号来指定代码块。
5)JavaScript所有参数都必须指定。
6)JavaScript代码通常由鼠标单击或击键等事件驱动。
7)大多数JavaScript库设计用于在浏览器中操作HTML。