编程范型 | 事件驱动、函数式、指令式 |
---|---|
設計者 | 创造者布蘭登·艾克及ECMAScript规范的其他关键贡献者 |
发行时间 | 1995年12月4日[1] |
当前版本 | |
型態系統 | 动态类型、鸭子类型 |
文件扩展名 |
|
網站 | www |
主要實作產品 | |
V8、JavaScriptCore、SpiderMonkey、Chakra | |
啟發語言 | |
AWK[5]、C、HyperTalk、Java[6]、Lua、Perl、Python、Scheme、Self | |
影響語言 | |
ActionScript、AtScript、CoffeeScript、Dart、JScript .NET、LiveScript、Objective-J、Opa、QML、Raku、TypeScript | |
|
扩展名 |
.js |
---|---|
互联网媒体类型 |
application/javascript text/javascript (obsolete)[7] |
统一类型标识 | com.netscape.javascript-source[8] |
格式类型 | 脚本语言 |
JavaScript(通常缩写为JS)是一门基于原型和头等函数的多范式高级解释型编程语言[9][10],它支持面向对象程式設計、指令式编程和函数式编程。它提供方法来操控文本、数组、日期以及正则表达式等。不支持I/O,比如网络、存储和图形等,但这些都可以由它的宿主环境提供支持。它由Ecma通过ECMAScript实现语言的标准化[9]。目前,它被世界上的绝大多数网站所使用,也被世界主流浏览器(Chrome、Firefox、Safari和Opera)所支持。
JavaScript与Java在名字和语法上都很相似,但这两门编程语言从设计之初就有很大不同。JavaScript在语言设计上主要受到了Self(一种基于原型的编程语言)和Scheme(一门函数式编程语言)的影响[10],在语法结构上它和C语言很相似(如if条件语句、switch语句、while循环和do-while循环等)[11]。
对于客户端来说,JavaScript通常被实现为一门解释语言,但如今它已经可以被即时编译(JIT)。随着HTML5和CSS3语言标准的推行,它还可以用于游戏、桌面和移动应用程序的开发,以及在服务器端网络环境运行(如Node.js)。