JavaScriptÖеÄJSON
ÔÖ·£ºhttp://www.dreamdu.com/blog/2008/10/19/json_in_javascript/
JavaScriptÖеÄJSON
×÷ÕߣºDouglas Crockford
ÔÎÄÍøÖ·£ºhttp://www.json.org/js.html
ÒëÕߣº¿É°®µÄºï×Ó
JavaScriptÕâÖÖ±à³ÌÓïÑÔÊ×ÒªµÄÄ¿µÄÊÇΪNetscape NavigatorÌṩһÖÖÒ³Ãæ½Å±¾ÓïÑÔ¡£ËüÈÔ±»ÆÕ±éµÄÈÏΪÊÇJavaµÄÒ»¸ö×Ó¼¯£¬µ«ÊÂʵ²¢·ÇÈç´Ë¡£ËüÊÇÒ»ÖÖÓï·¨ÀàËÆcÓïÑÔ²¢ÇÒÖ§³ÖÃæÏò¶ÔÏóµÄScheme-likeÓïÑÔ¡£JavaScriptʹÓÃÁËECMAScriptÓïÑԹ淶µÚÈý°æ½øÐÐÁ˱ê×¼»¯¡£
JSONÊÇJavaScriptÃæÏò¶ÔÏóÓï·¨µÄÒ»¸ö×Ó¼¯¡£ÓÉÓÚJSONÊÇJavaScriptµÄÒ»¸ö×Ó¼¯£¬Òò´ËËü¿ÉÇåÎúµÄÔËÓÃÓÚ´ËÓïÑÔÖС£
var myJSONObject = {"bindings": [
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
]
};
ÉÏÃæµÄʾÀý£¬´´½¨ÁËÒ»¸ö°üÀ¨µ¥¶À³ÉÔ±”bindings”µÄ¶ÔÏ󣬴˳ÉÔ±°üÀ¨Ò»¸öº¬ÓÐÈý¸ö¶ÔÏ󣨔ircEvent”, “method”, Óë “regex”£©µÄÊý×é
³ÉÔ±¿ÉÒÔͨ¹ý.»òÕßϱê²Ù×÷·û¼ìË÷¡£
myJSONObject.bindings[0].method // "newURI"
ΪÁ˽«JSONÎı¾×ª»»Îª¶ÔÏ󣬿ÉÒÔʹÓÃeval()º¯Êý¡£eval()º¯Êýµ÷ÓÃJavaScript±à¼Æ÷¡£ÓÉÓÚJSONÊÇJavaScriptµÄ×Ó¼¯£¬Òò´Ë±àÒëÆ÷½«ÕýÈ·µÄ½âÎöÎı¾²¢²úÉú¶ÔÏó½á¹¹¡£Îı¾±ØÐëÀ¨ÔÚÀ¨ºÅÖбÜÃâ²úÉúJavaScriptµÄÓï·¨ÆçÒå¡£
var myObject = eval('(' + myJSONtext + ')');
evalº¯Êý·Ç³£¿ìËÙ¡£Ëü¿ÉÒÔ±àÒëÖ´ÐÐÈκÎJavaScript³ÌÐò£¬Òò´Ë²úÉúÁ˰²È«ÐÔÎÊÌâ¡£µ±Ê¹ÓÿÉÐÅÈÎÓëÍêÉÆµÄÔ´´úÂëʱ²Å¿ÉÒÔʹÓÃevalº¯Êý¡£ÕâÑù¿ÉÒÔ¸ü°²È«µÄʹÓÃJSON½âÎöÆ÷¡£Ê¹ÓÃXMLHttpRequestµÄwebÓ¦Óã¬Ò³ÃæÖ®¼äµÄͨѶֻÔÊÐíͬԴ£¬Òò´ËÊÇ¿ÉÒÔÐÅÈεġ£µ«ÕâÈ´²»ÊÇÍêÉÆµÄ¡£Èç¹û·þÎñÆ÷ûÓÐÑϽ÷µÄJSON±àÂ룬»òÕßûÓÐÑϸñµÄÊäÈëÑéÖ¤£¬ÄÇô¿ÉÄÜ´«ËͰüÀ¨Î£Ïսű¾µÄÎÞЧJSONÎı¾¡£evalº¯Êý½«Ö´ÐжñÒâµÄ½Å±¾¡£
ʹÓÃJSON½âÎöÆ÷¿ÉÒÔ·ÀÖ¹´ËÀàʼþ¡£JSON½âÎöÆ÷Ö»ÄܱæÊ¶JSONÎı¾£¬¾Ü¾øËùÓнű¾¡£ÌṩÁ˱¾µØJSONÖ§³ÖµÄä¯ÀÀÆ÷µÄJSON½âÎöÆ÷½«Ô¶¿ìÓÚevalº¯Êý¡£Ô¤¼ÆÎ´À´µÄECMAScript±ê×¼½«Ö§³Ö±¾µØJSON¡£
var myObject = JSON.parse(myJSONtext, reviver);
Ò»¸öÌæ»»º¯Êý£¨reviver function£©×öΪ¿ÉÑ¡²ÎÊý±»×îÖÕ½á¹ûµÄÿһ¼¶µÄ¼ü£¨key£©ÓëÖµ£¨value£©µ÷Óᣠÿ¸öÖµ¶¼½«±»Ìæ»»º¯ÊýµÄÖµ´úÌæ¡
Ïà¹ØÎĵµ£º
scrollHeight: »ñÈ¡¶ÔÏóµÄ¹ö¶¯¸ß¶È¡£
scrollLeft:ÉèÖûò»ñȡλÓÚ¶ÔÏó×ó±ß½çºÍ´°¿ÚÖÐĿǰ¿É¼ûÄÚÈݵÄ×î×ó¶ËÖ®¼äµÄ¾àÀë
scrollTop:ÉèÖûò»ñȡλÓÚ¶ÔÏó×î¶¥¶ËºÍ´°¿ÚÖпɼûÄÚÈݵÄ×î¶¥¶ËÖ®¼äµÄ¾àÀë
scrollWidth:»ñÈ¡¶ÔÏóµÄ¹ö¶¯¿í¶È
offsetHeight:»ñÈ¡¶ÔÏóÏà¶ÔÓÚ°æÃæ»òÓɸ¸×ø±ê offsetParent ÊôÐÔÖ¸¶¨µÄ¸¸×ø±êµÄ¸ß¶È
offsetL ......
JSP+JavaScrip
t´òÔì¶þ¼¶¼¶ÁªÏÂÀ²Ëµ¥£º
(¸öÈ˲©¿Í£ºwww.duduct.com)
class(Ò»¼¶À¸Ä¿ÐÅÏ¢£©£ºclassId(×Ô¶¯±àºÅ£©£¬className£¨À¸Ä¿Ãû³Æ£©,
Nclass£¨¶þ¼¶À¸Ä¿ÐÅÏ¢£©,
NclassId£¨×Ô¶¯±àºÅ£©£¬NclassName(À¸Ä¿Ãû³Æ£©£¬parentId£¨Ò»¼¶À¸Ä¿id£¬Óëclass±íÖеÄclassId¹ØÁª£©
......
ǶÈëʽSGF²é¿´ºÍ±à¼Æ÷
EidoGo Player
(SGF viewer and editor) ÊÇÒ»¿î¿ªÔ´£¨AGPLv3
Ðí¿É£©´¿javascript+css±àд¡¢ÔÚä¯ÀÀÆ÷ÄÚÔËÐеÄΧÆå´òÆ×¡¢±à¼Èí¼þ¡£
¿ÉǶÈëµ½ÈκÎÒ³Ãæ£¬Ìṩ´òÆ×¡¢±à¼SGFÆåÆ×¡£
Ô´´úÂ룺http://code.google.com/p/eidogo/
Àý×Ó£ºµÚ24½ìÌìÔªÕ½±¾ÈüµÚ1ÂÖ 2010-01-27 ³£ê»vsÂÞÏ´ºÓ °×ÖÐÅÌʤ
(
......
1¡¢»ìºÏµÄ¹¹Ô캯Êý/ÔÐÍ·½·¨
Óù¹Ô캯Êý¶¨Òå¶ÔÏóµÄËùÓзǺ¯ÊýÊôÐÔ£¬ÓÃÔÐÍ·½Ê½¶¨Òå¶ÔÏóµÄº¯ÊýÊôÐÔ(·½·¨)£¬½á¹ûËùÓк¯Êý¶¼Ö»´´½¨Ò»´Î£¬¶øÃ¿¸ö¶ÔÏó¶¼¾ßÓÐ×Ô¼ºµÄ¶ÔÏóÊôÐÔʵÀý¡£
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional. ......
Ò» javascriptÕýÔò±í´ïʽµÄ»ù±¾ÖªÊ¶
1 javascript ÕýÔò¶ÔÏó´´½¨ ºÍÓ÷¨
ÉùÃ÷javascript ÕýÔò±í´ïʽ
var reCat = new RegExp("cat");
ÄãÒ²¿ÉÒÔ
var reCat = /cat ......