历史版本21 :前端开发指南 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 用途描述编辑

JavaScript 是一种脚本语言,它可以用来制作与网络无关的,起到与用户交互作用的复杂软件。它是一种基于对象(Object Based)和事件驱动(Event Driver)的编程语言。JavaScript 是动态的,它可以直接对用户或客户输入做出响应,无须经过 Web 服务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页(Home Page)中执行了某种操作所产生的动作,就称为“事件”(Event)。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。

JavaScript 是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持 JavaScript 的浏览器就可正确执行。即 JavaScript 源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户端由浏览器直接解释执行。

本章介绍了 FineReport 内置的 JavaScript 函数及其用法

注:在 FineReport 里面使用 JavaScript 的时候,尽量避免注释出现在 JavaScript 代码段里面。

官方的所有 JavaScript 接口可以参考:帆软软件应用程序接口及开发指导文档 

索引:

借用浏览器功能写 JS 语句

JS 使用说明

FineReport 的 JS API

FineReport 的事件

FineReport 的 JS 实例

其它 JS

2.JavaScript 介绍编辑

JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。 [1] 

JavaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。 [2] 

JavaScript的标准是ECMAScript 。截至 2012 年,所有浏览器都完整的支持ECMAScript 5.1,旧版本的浏览器至少支持ECMAScript 3 标准。2015年6月17日,ECMA国际组织发布了ECMAScript的第六版,该版本正式名称为 ECMAScript 2015,但通常被称为ECMAScript 6 或者ES6。

3.历史编辑

它最初由Netscape的Brendan Eich设计。JavaScript是甲骨文公司的注册商标。Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型,浏览器对象模型。 [8] 

Netscape在最初将其脚本语言命名为LiveScript,后来Netscape在与Sun合作之后将其改名为JavaScript。JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”,因此语法上有类似之处,一些名称和命名规范也借自Java。但JavaScript的主要设计原则源自Self和Scheme。JavaScript与Java名称上的近似,是当时Netscape为了营销考虑与Sun微系统达成协议的结果。为了取得技术优势,微软推出了JScript来迎战JavaScript的脚本语言。为了互用性,Ecma国际(前身为欧洲计算机制造商协会)创建了ECMA-262标准(ECMAScript)。两者都属于ECMAScript的实现。尽管JavaScript作为给非程序人员的脚本语言,而非作为给程序人员的脚本语言来推广和宣传,但是JavaScript具有非常丰富的特性。 [9] 

发展初期,JavaScript的标准并未确定,同期有Netscape的JavaScript,微软的JScript和CEnvi的ScriptEase三足鼎立。1997年,在ECMA(欧洲计算机制造商协会)的协调下,由Netscape、Sun、微软、Borland组成的工作组确定统一标准:ECMA-262。

4.版本编辑

JavaScript已经被Netscape公司提交给ECMA制定为标准,称之为ECMAScript,标准编号ECMA-262。最新版为ECMAScript 6。符合ECMA-262 3rd Edition标准的实现有:

Microsoft公司的JScript.

Mozilla的JavaScript-C(C语言实现),现名SpiderMonkey

Mozilla的Rhino(Java实现)

Digital Mars公司的DMDScript

Google公司的V8

WebKit

版本发布日期基于Netscape NavigatorMozilla FirefoxInternet ExplorerOperaSafariGoogle Chrome
1.01996年3月
2.0




1.11996年8月
3.0
3.0


1.21997年6月
4.0-4.05




1.31998年10月ECMA-262 1 edition / ECMA-262 2 edition4.06-4.7x
4.0


1.4

Netscape
  Server





1.52000年11月ECMA-262 3 edition6.01.05.5 (JScript 5.5),
  6 (JScript 5.6),
  7 (JScript 5.7),
  8 (JScript 6)
6.0,
  7.0,
  8.0,
  9.0


1.62005年11月1.5 + Array extras + Array and String generics + E4X
1.5

3.0, 3.1
1.72006年10月1.6 + Pythonic generators + Iterators + let
2.0

3.2, 4.01.0
1.82008年6月1.7 + Generator expressions + Expression closures
3.0
11.50

1.8.1
1.8 + Native JSON support + Minor Updates
3.5



1.8.22009年6月22日1.8.1 + Minor updates
3.6



1.8.52010年7月27日1.8.1 + ECMAScript 5 Compliance
4911.60

版本说明实现
ECMA v1标准化了JavaScript1.1的基本特性,并添加了一些新特性。没有标准化switch语句和正则表达式。由Netscape 4.5和IE 4实现。
ECMA v2ECMA v1的维护版本,只添加了说明由Netscape 4.5和IE 4实现。
ECMA v3标准化了switch语句、异常处理和正则表达式。由Mozilla、Netscape 6和IE 5.5实现。

5.主流JavaScript框架编辑

TOP1     Angular

Angular 是最强大、最高效、最开源的 JavaScript 框架之一。在这个列表中不可能不提及 Angular。该框架由Google 运营,用于开发单页应用(SPA)。这个开发框架之所以出名,主要是因为它为开发人员提供了将JavaScript 与 HTML 和 CSS 结合起来的最佳条件。有超过五十万个网站如 google.com、youtube.com 等正在使用 Angular。

TOP2     ReactJS

React 是 Facebook 维护的另一个 JavaScript 库,用于构建交互式和复杂的 UI。它是最热门的框架之一,有超过 3 万个网站使用 React 实现 UI。举几个网站:Microsoft.com、yahoo.com 等。

TOP3    Vue

Vue是一个用于构建 UI 的开源 JavaScript 框架。由于它的设计具有适应性,Vue 简化了与其他 JavaScript 库的项目集成。目前超过 36,000 个网站正在使用 Vue。像 stackoverflow、playstation 等公司依赖 Vue 开发他们的网站界面。

TOP4  jQuery

Jquery 是最古老的 JS 框架之一。这个框架已经存在了 13 年之久,而且它仍然很强大。那么什么是 jQuery?

jQuery 是一个快速而简洁的 JavaScript 库,由 John Resig 在2006年创建,它有一个很好宗旨:写得少,做得多。它是一个跨浏览器的 JavaScript 库,旨在简化 HTML 的客户端脚本。目前有超过 1900 万个网站正在使用jQuery!WordPress、Facebook、Google、IBM 和其他许多公司都依赖 jQuery 提供独一无二的网络浏览体验。

TOP5  BackboneJS

BackboneJS 是一个轻量级 JavaScript 库,用来开发和构建在 Web 浏览器中运行的客户端应用。与其他框架不同,Backbone 让开发人员负责选择最适合当前项目的工具。目前,超过50万个网站正在使用 Backbone,其中包括tumblr.com、espn.com、soundcloud.com等等。