jQ学习笔记(1):基础
by liony
看了一些jQ的资料,到了该交作业的时间了。上周查阅了一些jQ的资料,大致搞懂了一些jQ相关技术的结构。一查才知道,除了熟悉的MooTools、YUI、Prototype等等,大大小小的JS框架竟然有百余种之多(具体参考这篇文章:128个ajax/javascript框架),用途多种多样,从GUI、绘图到动画、数据处理一应俱全。
通过对jQ的深入学习,小狮发现了不少以前不知道的JS框架,比如YUI-ext,开阔了不少眼界,感觉将来Web前端的开发越来越容易了,想起高中那会哪有什么JS框架这个东西,都是用DW自带的代码片段和网上收集的形形色色的JS代码凑合的,有一个时间显示和状态栏文字滚动效果都觉得牛的不行了,什么拖拽效果想都不敢想,而且给那些JS代码配CSS的时候非常痛苦,现在的前台开发都好幸福的说。
目前小狮还停留在对jQ的了解阶段,正在用KitTools玩一些简单的slide、fade等等效果,主要还是熟悉语法,有些东西要记录一下,也是小狮比较关心的几点:
- 数据格式问题
使用JSON,一种轻量级的数据格式,在数据结构比较简单的场合用来替代XML的。 - AJAX的问题
AJAX应用在jQ框架下是如何实现的。 - RPC
在数据格式上分为XML、JSON和语言格式(如PHP、JAVA等)几大类。
关于JSON
最早接触JSON这个东西的时候,小狮还在玩Google Blogger,当时blogger宣布在模板中支持JSON这种数据格式,大家一片欢腾,但是那个时候小狮压根就不知道JSON是什么东西。后来才慢慢了解到,JSON是一种数据格式,跟XML一样,但是比XML轻量化。在jQ中主要是用JSON来进行通信的,而且目前大家都倾向于在执行一般的RPC任务的时候使用JSON(不过小狮很推崇XML,刚才翻了一下草稿箱,貌似有好几篇几年前的XML文章还没写完
),所以在了解jQ之前首先要了解JSON。
JSON全称JavaScript Object Natation,小狮主要参考了这篇文章:深入浅出JSON,此君写的通俗易懂,也比较全面,推荐阅读,小狮参考的主要资料就是这篇文章,以下只记录比较核心的部分:
- 对象是属性、值对的集合。一个对象的开始于“{”,结束于“}”。每一个属性名和值间用“:”提示,属性间用“,”分隔。
- 数组是有顺序的值的集合。一个数组开始于"[",结束于"]",值之间用","分隔。
- 值可以是引号里的字符串、数字、true、false、null,也可以是对象或数组。这些结构都能嵌套。
- 字符串和数字的定义和C或Java基本一致。
- 使用点运算符“.”进行数据调用。
由于JSON非常的轻量化,所以非常简单,可以很轻松的进行解析,直接自己动手写一个解析器也是很方便的,这是XML不能比拟的(当初小狮在VB.NET上写一个XML解析器差点没累死)。但是缺点也是很明显的,一些复杂的数据结构用JSON来表示的话可能就会很臃肿,而且估计加密方面也不是很好,各有利弊嘛。
另外,IBM的JSON资料也很全面:JSON入门指南,推荐阅读(还有示例程序下载!)。
关于jQ框架下的AJAX
貌似现在JS框架都有封装AJAX方法,小狮只见过Prototype的,觉得jQ的封装做的更好,比较简便(也可能是喜新厌旧的心里)。具体的资料可以参考这篇文章:基于jQuery框架的Ajax。
另外,IBM的这篇文章也非常不错。
PHP-RPC与JSON-RPC、XML-RPC
见以下文章: