1、javascript(浏览器脚本语言)简史
①、(网景Netscape):Mocha-->LiveScript-->JavaScript-->ECMAScript(被ECMA组织标准化后的名称)。
②、(微软):一个是基于BASIC语言的VBScript,另一个是类似于javascript德jscript。
2、语言特性
①、动态性:一个javascript对象中所需的属性无需提前申明,在需要时直接赋值即可。
如:var obj = new Object();
obj.name = 'ZhangSan';//无需提前申明Object对象中必须有name属性。
②、弱类型:javascript中,所有类型变量都可用var关键字来声明,javascript不严格区分变量类型。浏览器解释器会自动根据上下文来处理。
如:var str = "aaa";
var data = 12.05;
var obj = new Object();
3、javascript应用
①、可以应用于客户端(常见的一种形式,用于开发web应用),
②、可应用于服务器端(较少使用,可以考虑研究基于V8引擎的应用Node.js,Node.js是一套用来编写高性能网络服务器的JavaScript工具包,提供丰富API简化服务器端的网络编程)。
③、其他各种基于javascript独立引擎的扩展应用:可多研究,基于各种javascript独立引擎(比喻:Rhino,SpliderMonkey以及google的V8等)的扩展应用。可自己使用
各种开发语言来应用,也可在本身支持的各种软件中扩展。
如:著名的Adobe reader也支持Javascript扩展,并提供Javascript的API来访问PDF文档,即可以通过Javascript来定制Adobe Reader的界面以及功能。下面做一个小示例:
首先,将下面的javascript代码保存为一个js文件,如menu.js
app.addMenuItem({ cName: "-", cParent: "View", cExec: "void(0);" }); app.addMenuItem({ cName: "Bookmark This Page &5", cParent: "View", cExec: "AddBookmark();", cEnable: "event.rc= (event.target != null);" }); app.addMenuItem({ cName: "Go To Bookmark &6", cParent: "View", cExec: "ShowBookmarks();", cEnable: "event.rc= (event.target != null);" }); app.addMenuItem({ cName: "Remove a Bookmark", cParent: "View", cExec: "DropBookmark();", cEnable: "event.rc= (event.target != null);" }); app.addMenuItem({ cName: "Clear Bookmarks", cParent: "View", cExec: "ClearBookmarks();", cEnable: "event.rc= true;" });
然后,将该文件拷贝到Adobe reader安装目录下的Javascripts文件夹中,如:C:\Program Files\Adobe\Reader 10.0\Reader\Javascripts,
随后打开Adobe reader,设置其启用Javascript:编辑-->首选项-->JavaScript,然后选中“启用Acrobat Javascript”、“启用菜单项目JavaScript执行
权限”和“启用全局对象安全性策略”。
最后,重启Adobe reader,可以发现,在其“视图”菜单中多了四个菜单项:Bookmark This Page 5、Go To Bookmark 6、Remove a Bookmark和Clear Bookmarks。