JavaScriptÖеÄJSON
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£©µ÷Óᣠÿ¸öÖµ¶¼½«±»Ìæ»»º¯ÊýµÄÖµ´úÌæ¡£Õâ¿ÉÒÔÓÃÀ´½«Ò»°ãµÄÀà¸Ä±ä³ÉαÀàµÄʵÀý£¬»òÕß½«ÈÕÆÚ×Ö·û´®×ª±äΪÈÕÆÚ¶
Ïà¹ØÎĵµ£º
1 JavaScriptÊý×é¼ò½é
JavaScriptÊý×éÊÇÒ»ÖÖ°üº¬ÒѱàÂëµÄÖµµÄ¸´ºÏÊý¾Ý¡£Êý×éÇø±ðÓÚ¹ØÁªÊý×飬¹ØÁªÊý×éÊǽ«ÖµºÍ×Ö·û´®¹ØÁªÔÚÒ»Æð£¬¶øÊý×éÊǽ«ÖµºÍ·Ç¸ºÕûÊý¹ØÁªÔÚÒ»Æð¡£
Êý×éÊǶÔÏó(¿ÉÀûÓÃtypeofÔËËã·û)¡£
2   ......
½Å±¾ÖеÄʼþÓÐ2ÖÖÄ£ÐÍ
1¡¢ ðÅÝÐÍʼþ£ºÊ¼þÊǰ´ÕÕ´Ó×îÌØ¶¨µÄÄ¿±êµ½×î²»ÌØ¶¨µÄʼþÄ¿±ê(document)µÄ˳ÐòÒÀ´Î´¥·¢¡£ÕâÊÇÕë¶Ô²»Í¬ÔªËصÄͬһʼþÀàÐÍ
È磺
<html onclick=”handleClick()”>
<head></head>
<body onclick=”handleClick()”>
<div ......
×ֺţº´ó ÖРС
·½·¨Ò»£º×µÄ£¬×îÈÝÒ×Àí½âµÄ£¬ÇÒ¿ÉÒÔËæÒâÉèÖÃÒªÅųýµÄ×Ö·û
<script language="javascript">
function isChinese1(str){
var badChar ="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
badChar += "abcdefghijklmnopqrstuvwxyz";
badChar += "0123456789";
badChar += " "+"¡¡";//°ë½ÇÓëÈ«½Ç¿Õ¸ñ
badChar ......
replace()×î¼òµ¥µÄËãÊÇÄÜÁ¦¾ÍÊǼòµ¥µÄ×Ö·ûÌæ»»¡£
ʾÀý´úÂëÈçÏ£º
<script language="javascript">
var strM = "javascript is a good script language";
//ÔÚ´ËÎÒÏ뽫×ÖĸaÌæ»»³É×ÖĸA
alert(strM.replace("a","A"));
</script>
ËüÖ»Ìæ»»ÁËÊ××Öĸ¡£µ«Èç ......