一、Introduction
JavaScript可以说是Internet上最流行的脚本语言,它工作在包括IE,Firefox,Safari,Opera和Google Chrome等主流浏览器中。
Javascript被设计来作为一门脚本语言在宿主环境里运行,并且依赖于宿主环境来提供与外界交互的机制。
最常见的宿主环境是浏览器,但是JavaScript解释器也可以在Adobe Acrobat,Photoshop,Yahool!的Widget引擎等里面找到。
二、Object
是一种广义上的对象概念,相当于一个“属性包”:JavaScript对象是简单的键-值对的集合。
键是一个JavaScript字符串,而值可以是任意JavaScript值 -- 包括对象,这允许你构建任意复杂度的数据结构。
var obj = {};
一旦创建了对象,对象的属性可以有两种方式来得到:
1,
obj.name = "Hans"
var name = obj.name;
2,
obj["name"] = "Hans";
var name = obj["name"];
---------------------------
var obj = {
name: "Huyh",
"nickname": "Hans",
details: {
color: "red",
12
}
}
// obj.details.color
// obj["details"]["width"]
---------------------------
三、Samples
下面的附件是整理好的例子,主要从Object、Function和jQuery三方面以实例展现了Javascript的经典用法。
[附件] training.zip
四、Framework
随着WEB2.0及ajax思想在互联网上的快速发展传播,陆续出现了一些优秀的Javascript框架,
其中比较著名的有Prototype、YUI、jQuery、MooTools、ExtJS以及国内的JSVM框架等,
通过将这些JS框架应用到我们的项目中能够使程序员从设计和书写繁杂的JS应用中解脱出来,
从而提高项目的开发效率与复用性。
1, Dojo
http://dojotoolkit.org/
http://dojotoolkit.com/book/dojo-book-0-9/introduction/why-dojo
是一个开源的DHTML+JavaScript工具包
Dojo的目标是解决开发DHTML应用程序遇到的那些、长期存在、历史问题,以及DHTML跨浏览器问题。
2, ExtJS
http://extjs.com/
http://extjs.org.cn/
http://yuiblog.com/blog/2006/10/10/ten-questions-slocum
ExtJS可以用来开发RIA也即富客户端的AJAX应用,主要用于创建前端用户界面,
是一个与后台技术无关的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应 用中。
ExtJs最开始基于YUI技术,由开发人员Jack Slocum开发,通过参考Java Swing等机制来组织可视化组件,
无论从UI界面上CSS样式的应用,到数据解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术 的精品。
3, YUI
http://developer.yahoo.com/yui/
YUI为创建完全可交互的Web应用程序提供了一组工具包与控件。
4, jQuery
http://jquery.com/
http://www.learningjquery.com/
http://15daysofjquery.com/
http://blogger.forgottenskies.com/?cat=15
http://space.cnblogs.com/group/topic/345/
http://www.west-wind.com/presentations/jQuery/default.aspx
http://malsup.com/jquery/
http://tablesorter.com/docs/
http://www.cnblogs.com/Terrylee/archive/2007/12/09/the-ultimate-jquery-plugin-list.html
jQuery是一个快速、简洁的JavaScript框架,帮助你简化查询DOM对象,处理事件,制作动画,和处理Ajax交互过程。
利用jQuery将改变你编写JavaScript代码的方式。
5, Prototype
http://www.prototypejs.org/
Prototype的设计目标是扩充JavaScript的功能,使得可以以类似于Ruby的方式来编写JavaScript。
Prototype主要是对于JavaScript语言本身的一些底层的扩充。但是Prototype还是太底层了。
6, MooTools
http://mootools.net/
Mootools是一个简洁,模块化,面向对象的JavaScript框架。它能够帮助你更快,
更简单地编写可扩展和兼容性强的JavaScript代码。Mootools从Prototype.js中汲取了许多有益的设计理念,
语法也和其极其类似。但它提供的功能要比Prototype.js多,整体设计也比Prototype.js要相对完善,功能更强大,
比如增加了动画特效、拖放操作等等。
var clickFunction = function(){
//put whatever you want to happen in here
alert('this element now recognizes the click event');
}
window.addEvent('domready', function() {
$('id_name').addEvent('click', clickFunction);
});
7, JSVM
http://jsvm.org/
一个基于 JavaScript 的 RIA 底层框架,专注于 JavaScript 的模块化设计和代码组织规范,
实现了类似 Virtual Machine(虚拟机)的功能。
主要特征
实现 JavaScript 的模块化设计,且支持面向对象
支撑 RIA/Ajax 相关技术的基础平台
兼容 IE5.0+、FireFox1.0、Opera 浏览器
五、References
http://www.crockford.com/javascript/
http://www.cnblogs.com/qleelulu/articles/1166653.html
http://www.cnblogs.com/leadzen/archive/2008/02/25/1073404.html
http://www.cnblogs.com/blodfox777/archive/2008/10/21/1295232.html
http://www.digital-web.com/articles/scope_in_javascript/
http://www.blueidea.com/tech/web/2007/4855.asp