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£©µ÷Óᣠÿ¸öÖµ¶¼½«±»Ìæ»»º¯ÊýµÄÖµ´úÌæ¡
Ïà¹ØÎĵµ£º
×ªÔØ×Ô£ºhttp://hikejun.com/blog/?p=536
Zakas 1/22ÔÚtwitterÉÏ·ÖÏíÁËBaranovskiyµÄһƪÎÄÕ“So, you think you know JavaScript?
”£¨ÄãÈÏΪÄã¹»Á˽âjavascriptÂ𣩱êÌâºÜ½Ð°å¡£½á¹û5С¶Î´úÂë×öµÄÏ¡ÀﻩÀ²¡£
½ñÌìZakasרÃÅ׫ÎĽâ´ðÁËÕ⼸µÀÌ⣨http://www.nczonline.net/blog/2010/01/26/answering-baranov ......
netÖÐC#´úÂëÓëjavaScriptº¯ÊýµÄÏ໥µ÷ÓÃÎÊÌâ¡£
¡¡¡¡ÎÊ£º
¡¡¡¡1.ÈçºÎÔÚJavaScript·ÃÎÊC#º¯Êý?
¡¡¡¡2.ÈçºÎÔÚJavaScript·ÃÎÊC#±äÁ¿?
¡¡¡¡3.ÈçºÎÔÚC#ÖзÃÎÊJavaScriptµÄÒÑÓбäÁ¿?
¡¡¡¡4.ÈçºÎÔÚC#ÖзÃÎÊJavaScriptº¯Êý?
¡¡¡¡ÎÊÌâ1´ð°¸ÈçÏ£º
¡¡¡¡javaScriptº¯ÊýÖÐÖ´ÐÐC#´úÂëÖеĺ¯Êý£º
¡¡¡¡·½·¨Ò»£º1¡¢Ê×ÏȽ¨Á¢Ò ......
ÔÚµØÖ·À¸ÊäÈ룺
javascript:str='';for%20(var1=0;var1<document.images.length;var1++){str+='\n'+document.images[var1].src};if(str!=''){document.write(str);void(document.close())}else{alert('No%20images!')}
È»ºó²é¿´Ð³öÀ´µÄÒ³ÃæµÄÔ´´úÂë
ÈôÒªÏÔʾ³öÀ´£¬Ôò£º
javascript:funcname='';for%20(var1=0;var ......
<script language="JavaScript">
<!--
calendar = new Date();
day = calendar.getDay();
month = calendar.getMonth();
date = calendar.getDate();
year = calendar.getYear();
if (year< 100) year = 1900 + year;
cent = parseInt(year/100);
g = year % 19;
k = parseInt((cent - 17)/25);
i = ......
JavaScript Module Pattern
£¨
JavaScript
Module
ģʽ£©
À´Ô´£º
1.
http://yuiblog.com/blog/2007/06/12/module-pattern/
2.
http://yuiblog.com/blog/2006/06/01/global-domination/
È«¾Ö±äÁ¿ÊÇÓкܴóΣº¦µÄ¡£ÔÚ
YU ......