某日无聊,翻开qq空间页面的源码,找了一堆js代码。据说自定义样式的时候,可以上传别人空间中的js代码,那样就能不花钱而拥有各种钻,想怎么钻就怎么钻。没想到qq的js代码还真不简单,就是弄了老长老长了,一页代码弄了好几千行,不过最牛的还是google的输入框中的自动匹配。
    
    从头到尾的看啊,有用的东东还真不少,拿来免费收藏。当看到定义变量g_Configuration={style:1,version:4,fullMode:1,frameStyle:0,simpleMode:0,items:[{type:1,itemno:1,posx:0,posy:80,width:0,height:0,zindex:90},{type:19,itemno:1,posx:0,posy:0,width:0,height:0,zindex:0}]}的时候迷糊了,这花括号又加冒号,方括号加花括号加冒号的,这什么结构啊。网上搜索下这样的定义,没多少结果。javascript虽然继承了很多语言的语法,但哪个语法里面也没这样定义的,数组肯定不是,但里面肯定有数组,枚举中间用等号而且只能是整数类型的,结构体用的也是等号,只有对象可以带花括号定义,没办法,好几年不上csdn,发个帖问了下,答案是JSON。    JSON是javascript object notation,一种ajax中大量使用的数据格式。构建于键值对,他的值内容可以是字符窜,数字,逻辑值,null,对象,数组等,基本的构建类似于{key:value[,...n]}。最常见的定义就是key:简单类型,key:数组类型的混合体,如上面哪个g_Configuration,调用key的时候直接使用.操作,当成对象的一个属性进行对待,如alert(g_Configuration.style),数组的如alert(g_Configuration.items[0].style)。这样在web里面就又多了一种数据传输格式,据说他是为了弥补简单文本格式key=value和复杂的xml格式的不足而生产的,总之是有需要才产生的,而且各种脚本语言中都对其进行了实现。    这就是不学习造成的后果,快2年不学习了,变化这个大啊,他奶奶的!
    www.json.org
object {}
{ members } members pair
pair , members pair string : value array []
[ elements  elements value 
value , elements value string
number
object
array
true
false
null string ""
" chars " chars char
char chars char any-Unicode-character-
    except-"-or-\-or-
    control-character
\"
\\
\/
\b
\f
\n
\r
\t
\u four-hex-digits number int
int frac
int exp
int frac exp int digit
digit1-9 digits 
- digit
- digit1-9 digits frac . digits exp e digits digits digit
digit digits e e
e+
e-
E
E+
E-