Ó¢ÎÄÔÎÄ£ºThe seven rules of Unobtrusive JavaScript
ÔÎÄ×÷ÕߣºChris Heilmann
¾¹ý¶àÄêµÄ¿ª·¢¡¢½ÌѧºÍ±àд²»ÌÆÍ»µÄJavaScript£¬ ÎÒ·¢ÏÖÁËÏÂÃæµÄһЩ׼Ôò¡£ÎÒÏ£ÍûËüÃÇ¿ÉÒÔ°ïÖúÄã¶Ô“ΪʲôÕâÑùÉè¼ÆºÍÖ´ÐÐJavaScript±È½ÏºÃ”ÓÐÒ»µãÀí½â¡£ÕâЩ¹æÔòÔø¾°ïÖúÎÒ¸ü¿ìµØ½»¸¶²úÆ·£¬²¢ÇÒ²úÆ·µÄÖÊÁ¿¸ü¸ß£¬Ò²¸üÈÝÒ×ά»¤¡£
1.²»Òª×öÈκμÙÉè
£¨JavaScriptÊÇÒ»¸ö²»¿É¿¿µÄÖúÊÖ£©
¿ÉÄܲ»ÌÆÍ»µÄJavaScript µÄ×îÖØÒªµÄÒ»¸öÌØÐÔ¾ÍÊÇ——ÄãҪֹͣÈκμÙÉ裺
* ²»Òª¼ÙÉèJavaScriptÊÇ¿ÉÓõģ¬Äã×îºÃÈÏΪËüºÜÓпÉÄÜÊDz»¿ÉÓõ쬶ø²»ÊÇÖ±½ÓÒÀÀµÓÚËü¡£
* ÔÚÄã¾¹ý²âÊÔÈ·ÈÏһЩ·½·¨ºÍÊôÐÔ¿ÉÒÔʹÓÃ֮ǰ£¬²»Òª¼ÙÉèä¯ÀÀÆ÷Ö§³ÖËüÃÇ¡£
* ²»Òª¼ÙÉèHTML´úÂëÈçÄãÏëÏóµÄÄÇÑùÕýÈ·£¬Ã¿´Î¶¼Òª½øÐмì²é£¬²¢ÇÒµ±Æä²»¿ÉÓõÄʱºò¾ÍʲôҲ²»Òª×ö¡£
* ÈÃJavaScriptµÄ¹¦ÄܶÀÁ¢ÓÚÊäÈëÉ豸
* Òª¼ÇסÆäËûµÄ½Å±¾¿ÉÄÜ»áÓ°ÏìÄãµÄJavaScriptµÄ¹¦ÄÜ£¬ËùÒÔÒª±£Ö¤ÄãµÄ½Å±¾µÄ×÷ÓÃÓò¾¡¿ÉÄܵذ²È«¡£
ÔÚ¿ªÊ¼Éè¼ÆÄãµÄ½Å±¾Ö®Ç°£¬Òª¿¼ÂǵĵÚÒ»¼þÊÂÇé¾ÍÊǼì²éÒ»ÏÂÄãҪΪÆä±àд½Å±¾µÄHTML´úÂ룬¿´¿´ ......
ÔÀ´ÊÖ¶¯Ð´AJAXµÄʱºò,Ò»°ã¶¼ÏÈ´´½¨XMLHttpRequest¶ÔÏñµÄ,»òÕßÖ±½ÓÓÃJqueryµÄ·½·¨,Õâ´Î¿´µ½ÕâÖÖ¶¯Ì¬×¢²á½Å±¾Ð´·¨,»¹ÊÇÂùÆæÌØµÄ.дÏÂÀ´,¼Ç¼һÏÂ,ºÇºÇ!
ÕâÊÇǰ̨Js´úÂë:
<mce:script type="text/javascript"><!--
var scriptLastID = null;
// »Øµ÷·½·¨
function backFunction(type,content){
switch(type){
case 'userInfo':
alert('name: ' + content.name + ' age: ' + content.age);
// ÕâÀï¿ÉÒÔÒÆ³ýµô×¢²áµÄscript½Å±¾
break;
case 'other':
alert('other');
break;
default:
alert('nothing');
}
}
function buttonClick(){
var script = document.createElement('script');
script.id = 'scriptID' + Date.parse(new Date());
script.type = 'text/javascript';
script.src = 'backGround.aspx';
// Ïòhead×¢²áÒ»¸öscript½Å±¾
document.getElementsByTagName('head').item(0).appendChild(script);
}
// --></mce:script>
ÕâÊǺǫ́aspx·µ»ØÊý¾ÝµÄ´úÂë
pro ......
Document¶ÔÏóÄÚÈݼ¯ºÏ
document Îĵ²¶ÔÏó - JavaScript½Å±¾ÓïÑÔÃèÊö
———————————————————————
×¢:Ò³ÃæÉÏÔªËØnameÊôÐÔºÍJavaScriptÒýÓõÄÃû³Æ±ØÐëÒ»Ö°üÀ¨´óСд
·ñÔò»áÌáʾÄãÒ»¸ö´íÎóÐÅÏ¢ “ÒýÓõÄÔªËØÎª¿Õ»òÕß²»ÊǶÔÏó\\\\\”
———————————————————————
¶ÔÏóÊôÐÔ
document.title //ÉèÖÃÎĵµ±êÌâµÈ¼ÛÓÚHTMLµÄtitle±êÇ©
document.bgColor //ÉèÖÃÒ³Ãæ±³¾°É«
document.fgColor //ÉèÖÃǰ¾°É«(Îı¾ÑÕÉ«)
document.linkColor //δµã»÷¹ýµÄÁ´½ÓÑÕÉ«
document.alinkColor //¼¤»îÁ´½Ó(½¹µãÔÚ´ËÁ´½ÓÉÏ)µÄÑÕÉ«
document.vlinkColor //Òѵã»÷¹ýµÄÁ´½ÓÑÕÉ«
document.URL //ÉèÖÃURLÊôÐÔ´Ó¶øÔÚͬһ´°¿Ú´ò¿ªÁíÒ»ÍøÒ³
document.fileCreatedDate //Îļþ½¨Á¢ÈÕÆÚ£¬Ö»¶ÁÊôÐÔ
document.fileModifiedDate //ÎļþÐÞ¸ÄÈÕÆÚ£¬Ö»¶ÁÊôÐÔ
document.fileSize //Îļþ´óС£¬Ö»¶ÁÊ ......
javascriptÖÐÓÐÒ»ÖÖ·½·¨½Ð×ö·º»¯·½·¨£¬Ö¸ÄÇÖÖÔÉú¶ÔÏ󲻿ɱéÀúµÄÔÐÍ·½·¨¡£ÈçArrayµÄpop£¬sliceµÈ¡£ÎÒÃDZØÐëÖªµÀËüÃǵÄÃû×Ö²ÅÄܵ÷ÓÃËü»òÕß°ÑËüÍÚ³öÀ´¡£¼ÙÈçÎÒÃÇÏëÉè¼ÆÒ»¸öÀ࣬ӵÓÐÓëStringͬÑùµÄ¹¦ÄÜ£¬ÎÒÃǾÍÓÐÕâÐèÒª¡£²»Èç·Å¿ªµã˵£¬ÎªÊ²Ã´ÒªÉè¼ÆÕâ¸öÀà°É£¬ÏÔÈ»String2µÄЧÂʲ»ÈçÔÉúµÄ£¬µ«ÊÂÇé×ÜÒªÍùÁ½Ãæ¿´¡£ÕýÈçC#²»Èç¶þ½øÖƵĻúÆ÷Â룬µ«ÈËÐÔ»¯·½ÃæC#ÔòԶʤ¹ýºóÕß¡£ÄÇôÄѵÀString²»¹»ÈËÐÔ»¯Â𣿺ÜÄѻشðÕâÎÊÌ⣬µ«Èç¹ûÎÒÃÇÒª¶ÔËü½øÐÐÒ»Ð©ÌØÊâµÄ²Ù×÷£¬Èçcamelize£¬capitalize»òÕßtrimµÈ²Ù×÷ʱ£¬ÎÒÃǾÍÐèÒªÏàÓ¦µÄ¸ß¼¶·½·¨¡£Í¨³£ÈËÃǵÚÒ»¸öÊÇÏëµ½ÍùÔÐÍÖÐÌí¼Ó¡£µ«¶ÔÔÉú¶ÔÏóµÄÔÐÍÌí¼ÓÀ©Õ¹ÊDz»ºÃµÄϰ¹ß£¬ÒòΪÕâ·½ÃæµÄ¹¤×÷PrototypeÓëmootoolsÒÑΪÄã×öÁË¡£Èç¹ûÄãµ¼ÈëÕâЩ¿â»òÕßÓÐÒ»ÌìÄãÍüÁË£¬Ã»Óп´API£¬ÔÚÔÐ͸´Ð´ÁËÕâЩ·½·¨£¬ÕâÒýÆðµÄÁ¬Ëø·´Ó¦ÓëÔÖÄÑÊÇÄÑÒÔÏëÏóÒ²ºÜÄѲ龿¡£ÕâÕýÊÇjQuery´ÏÃ÷µÄµØ·½¡£jQuery¸Õµ®Éúʱ£¬Êг¡»ù±¾±»PrototypeÕ¼ÁìÁË£¬ÏÖÔÚPrototypeÔÚÍâ¹ú»¹ÊÇÖ÷Á÷µÄjs¿ò¼Ü£¬Ðí¶àÒÅÁôϵͳ¶¼ÓÃËüÀ´Ð´Ç°¶Ë¡£Èç¹ûjQuery»¹ÊÇ×ßËüÃǵÄÀÏ·£¬µ½´¦ÎÛȾ£¨À©Õ¹£©ÔÉú¶ÔÏó£¬Õâ»á¸ø¿ª·¢ÈËÔ±´øÀ´ÄÑÌ⣬ÓõÃÁËjQuery¾Í²»ÄÜÓÃPrototype»òmootools£¬»òÕßÏà·´¡£ÔÚPrototypeÈç´Ë³ÉÊì ......
1. ASCII
·µ»ØÓëÖ¸¶¨µÄ×Ö·û¶ÔÓ¦µÄÊ®½øÖÆÊý;
SQL> select ascii(A) A,ascii(a) a,ascii(0) zero,ascii( ) space from dual;
A A ZERO SPACE
--------- --------- --------- ---------
65 97 48 32
2. CHR
¸ø³öÕûÊý,·µ»Ø¶ÔÓ¦µÄ×Ö·û;
SQL> select chr(54740) zhao,chr(65) chr65 from dual;
ZH C
-- -
ÕÔ A
3. CONCAT
Á¬½ÓÁ½¸ö×Ö·û´®;
SQL> select concat(010-,88888888)||ת23 ¸ßǬ¾ºµç»° from dual;
¸ßǬ¾ºµç»°
----------------
010-88888888ת23
4. INITCAP
·µ»Ø×Ö·û´®²¢½«×Ö·û´®µÄµÚÒ»¸ö×Öĸ±äΪ´óд;
SQL> select initcap(smith) upp from dual;
UPP
-----
Smith
5.INSTR(C1,C2,I,J)
ÔÚÒ»¸ö×Ö·û´®ÖÐËÑË÷Ö¸¶¨µÄ×Ö·û,·µ»Ø·¢ÏÖÖ¸¶¨µÄ×Ö·ûµÄλÖÃ;
C1 ±»ËÑË÷µÄ×Ö·û´®
C2 Ï£ÍûËÑË÷µÄ×Ö·û´®
I ËÑË÷µÄ¿ªÊ¼Î»ÖÃ,ĬÈÏΪ1
J ³öÏÖµÄλÖÃ,ĬÈÏΪ1
SQL> select instr(oracle traning,ra,1,2) instring from dual;
INSTRING
---------
9
6.LENGTH
·µ»Ø×Ö·û´®µÄ³¤¶È;
SQL> select name,length(name),addr,length(addr),sal,length(to_c ......
select * from sys.smon_scn_time;
--scn Óëʱ¼äµÄ¶ÔÓ¦¹ØÏµ
ÿ¸ô5·ÖÖÓ£¬ÏµÍ³²úÉúÒ»´Îϵͳʱ¼ä±ê¼ÇÓëscnµÄÆ¥Åä²¢´æÈësys.smon_scn_time±í¡£
select * from student as of scn 592258
¾Í¿ÉÒÔ¿´µ½ÔÚÕâ¸ö¼ì²éµãµÄ±íµÄÀúÊ·Çé¿ö¡£
È»ºóÎÒÃǻָ´µ½Õâ¸ö¼ì²éµã
insert into student select * from student as of scn 592258 where id not in (select id from student)
select * from v$transaction ---ûÓÐÌá½»µÄÊÂÎñ¡£
select * from flashback_transaction_query; ---»Ø¹öÊÂÎñ¡£ ËûÓÐÒ»ÁÐÊÇ undo_sql µÃµ½Ëû¾Í¿ÉÒԻعö¸Õ²ÅÌá½»µÄÊÂÎñ¡£
select * from FLASHBACK_TRANSACTION_QUERY a
where a.start_timestamp between to_date('2008-12-7 14:40:56','yyyy-MM-dd HH24:mi:ss') and
to_date('2008-12-7 14:59:56','yyyy-MM-dd HH24:mi:ss');
²»ÂÛÊÇinsert delete update ¶¼¿ÉÒÔ°Ñcommitt Á˵ÄÊÂÎñ¸ø»Ø¹öÁË¡£ ......