äžèŠãå®å šã«éåžžã®JavaScriptã³ã³ãœãŒã«ããããŸããããã¯ããµãŒããŒã®å¿çãã°ãŸãã¯ãã®äžã®å€æ°å€ã衚瀺ããã®ã«ã®ã¿é©ããŠããŸãã ã¡ãªã¿ã«ãç§ã¯ããã°ã©ãã³ã°ãå§ããã°ããã®æ¹æ³ã§äœ¿çšããŸããã ããããæéãçµã€ã«ã€ããŠãç§ã¯çµéšãç©ã¿ãå€ããåŠã³ãChromeã³ã³ãœãŒã«ãå€ãã®ããšãç¥ã£ãŠããããšãæããããçºèŠããŸããã ä»æ¥ãããã«ã€ããŠã話ããããšæããŸãã ã¯ããæºåž¯é»è©±ã§ã¯ãªãä»èªãã§ããå Žåã¯ãããã«ãã¹ãŠãè©Šãããšãã§ããŸãã
1. DOMèŠçŽ ã®éžæ
jQueryã«ç²ŸéããŠããå Žåã $ïŒ 'ãClass'ïŒã$ïŒ 'id'ïŒãªã©ã®æ§é ã®éèŠæ§ã«ã€ããŠèª¬æããããšã¯ã§ããŸããã ç¥ããªã人ã®ããã«ãDOMèŠçŽ ãéžæããŠããããã«å²ãåœãŠãããã¯ã©ã¹ãšèå¥åã瀺ãããšãã§ããããšã説æããŸãã éçºè ã³ã³ãœãŒã«ã«ãåæ§ã®æ©èœããããŸãã ãã ããããã§ã¯ãã$ãã¯jQueryãšã¯äœã®é¢ä¿ããããŸããããæ¬è³ªçã«åãããšãè¡ããŸãã ããã¯document.querySelectorïŒïŒé¢æ°ã®ãšã€ãªã¢ã¹ã§ãã
$ïŒ 'tagName'ïŒ ã $ïŒ ' ãClass'ïŒ ã $ïŒ 'ïŒid'ïŒããã³$ïŒ 'ãClass #id'ïŒã®åœ¢åŒã®ã³ãã³ãã¯ãã»ã¬ã¯ã¿ãŒã«äžèŽããæåã®DOMèŠçŽ ãè¿ããŸãã åæã«ãããã¥ã¡ã³ãã§jQueryã䜿çšå¯èœãªå Žåããã®ã$ãã¯ãã®ã³ã³ãœãŒã«æ©èœããããã¯ããŸãã
ããã«å¥ã®æ§é ããããŸãïŒ $$ ã ãã®äœ¿çšã¯$$ïŒ 'tagName'ïŒãŸãã¯$$ïŒ ' ãClass'ïŒã®ããã«èŠããŸãã ã»ã¬ã¯ã¿ãŒã«å¯Ÿå¿ãããã¹ãŠã®DOMèŠçŽ ãéžæããŠãé åã«é 眮ã§ããŸãã ãããæäœããããšã¯ãä»ã®é åãšå€ãããŸããã ç¹å®ã®ã¢ã€ãã ãéžæããã«ã¯ãã€ã³ããã¯ã¹ã§åç §ã§ããŸãã
ããšãã°ã $$ïŒ 'ãClassName'ïŒã³ãã³ãã¯ãåŒã³åºããããšãã«æå®ãããã¯ã©ã¹åãæã€ãã¹ãŠã®ããŒãžèŠçŽ ã®é åãæäŸããŸãã ã³ãã³ã$$ïŒ 'ãClassName'ïŒ[0]ããã³$$ïŒ 'ãClassName'ïŒ[1]ã¯ãçµæã®é åã®æåã®èŠçŽ ãš2çªç®ã®èŠçŽ ã«ããããã¢ã¯ã»ã¹ãäžããŸãã
$ããã³$$ã³ãã³ãã䜿çšããå®éš
2.ãã©ãŠã¶ãããã¹ããšãã£ã¿ã«å€ããŸã
ãããã°ãããWebããŒãžã®ããã¹ãããã©ãŠã¶ã§çŽæ¥ç·šéããã®ããããšæã£ãããšã¯ãããŸãããïŒ ãããããªãã以äžã«ç€ºãã³ãã³ããæ°ã«å ¥ãã§ãããã
document.body.contentEditable=true
ã³ã³ãœãŒã«ã§å®è¡ããåŸããã©ãŠã¶ã§éããããã¥ã¡ã³ãã¯ãHTMLã³ãŒãã§ç®çã®ãã©ã°ã¡ã³ããæ€çŽ¢ããå¿ èŠãªãç·šéã§ããŸãã
3.èŠçŽ ã«é¢é£ä»ããããã€ãã³ããã³ãã©ãŒãæ€çŽ¢ãã
ãããã°ããã»ã¹äžã«ãèŠçŽ ã«ãã€ã³ããããŠããã€ãã³ããã³ãã©ãèŠã€ããå¿ èŠãããå ŽåããããŸãã ã³ã³ãœãŒã«ã䜿çšãããšãããã¯éåžžã«ç°¡åã§ãã 次ã®ã³ãã³ãã䜿çšããã ãã§ååã§ãã
getEventListeners($('selector'))
å®è¡ã®çµæãšããŠãèŠçŽ ãå¿çã§ããã€ãã³ãã®ãªã¹ããå«ããªããžã§ã¯ãã®é åãçºè¡ãããŸãã
ã€ãã³ããã³ãã©ãŒ
ç¹å®ã®ã€ãã³ãã®ãã³ãã©ãŒãèŠã€ããã«ã¯ã次ã®æ§æã䜿çšã§ããŸãã
getEventListeners($('selector')).eventName[0].listener
ãã®ã³ãã³ãã¯ãã€ãã³ããã³ãã©ãŒé¢æ°ã®ã³ãŒããåºåããŸãã ããã§ã eventName [0]ã¯ç¹å®ã®ã¿ã€ãã®ãã¹ãŠã®ã€ãã³ããå«ãé åã§ãã ããšãã°ãå®éã«ã¯ã次ã®ããã«ãªããŸãã
getEventListeners($('#firstName')).click[0].listener
çµæãšããŠãèå¥åfirstNameãæã€èŠçŽ ã®ã¯ãªãã¯ã€ãã³ãã«é¢é£ä»ããããé¢æ°ã®ã³ãŒããååŸããŸãã
4.ã€ãã³ãç£èŠ
ç¹å®ã®DOMèŠçŽ ã«é¢é£ä»ããããã€ãã³ãã®çºçãç£èŠããå Žåãã³ã³ãœãŒã«ããããæ¯æŽããŸãã ã€ãã³ããç£èŠããããã«äœ¿çšã§ããããã€ãã®ã³ãã³ãã次ã«ç€ºããŸãã
- monitorEventsïŒ$ïŒ 'selector'ïŒïŒã³ãã³ãã䜿çšãããšãã»ã¬ã¯ã¿ãŒã察å¿ããèŠçŽ ã«é¢é£ä»ããããŠãããã¹ãŠã®ã€ãã³ããç£èŠã§ããŸãã ã€ãã³ããçºçãããšãã³ã³ãœãŒã«ã§èšé²ãè¡ãããŸãã ããšãã°ã monitorEventsïŒ$ïŒ 'ïŒfirstName'ïŒïŒã³ãã³ãã䜿çšãããš ãèå¥åãfirstNameã§ããèŠçŽ ã«é¢é£ä»ããããŠãããã¹ãŠã®ã€ãã³ããèšé²ã§ããŸã ã
- monitorEventsïŒ$ïŒ 'selector'ïŒã 'eventName'ïŒã³ãã³ãã¯åã®ã³ãã³ããšäŒŒãŠããŸãããç¹å®ã®ã€ãã³ãã察象ãšããŠããŸãã ããã§ã¯ãèŠçŽ ã»ã¬ã¯ã¿ãŒã«å ããŠãã€ãã³ãåãé¢æ°ã«æž¡ãããŸãã ãã®ã³ãã³ãã䜿çšãããšã1ã€ã®ã€ãã³ãã®çºçã«é¢ããæ
å ±ãã³ã³ãœãŒã«ã«è¡šç€ºã§ããŸãã ããšãã°ã monitorEventsïŒ$ïŒ 'ïŒfirstName'ïŒã 'click'ïŒã³ãã³ãã¯ã firstNameèå¥åãæã€èŠçŽ ã®ã¯ãªãã¯ã€ãã³ãã«é¢ããæ
å ±ã®ã¿ã衚瀺ããŸã ã
- monitorEventsïŒ$ïŒ 'selector'ïŒã['eventName1'ã 'eventName3'ã....]ïŒã³ãã³ãã䜿çšãããšãéžæããè€æ°ã®ã€ãã³ããç£èŠã§ããŸãã ããã§ã¯ãã€ãã³ãã®ååãå«ãæååé
åãé¢æ°ã«æž¡ãããŸãã ããšãã°ã次ã®ã³ãã³ãïŒ monitorEventsïŒ$ïŒ 'ïŒfirstName'ïŒã['click'ã 'focus']ïŒã¯ãã³ã³ãœãŒã«ã«firstNameèå¥åãæã€èŠçŽ ã®ã¯ãªãã¯ã€ãã³ããšãã©ãŒã«ã¹ã€ãã³ãã«é¢ããæ
å ±ã衚瀺ããŸã ã
- unmonitorEventsïŒ$ïŒ 'selector'ïŒïŒã³ãã³ãã䜿çšãããšãã³ã³ãœãŒã«ã§ã€ãã³ãã®ç£èŠãšãã°èšé²ãåæ¢ã§ããŸãã
5.ã³ãŒãã¹ããããã®å®è¡æéã®æž¬å®
Chromeã³ã³ãœãŒã«ã§ã¯ã console.timeïŒ 'labelName'ïŒã®åœ¢åŒã®é¢æ°ã䜿çšã§ããŸã ããã®é¢æ°ã¯ãã©ãã«ãåŒæ°ãšããŠåãåããã¿ã€ããŒãéå§ããŸãã å¥ã®é¢æ°console.timeEndïŒ 'labelName'ïŒã¯ ãæž¡ãããã©ãã«ãå²ãåœãŠãããã¿ã€ããŒãåæ¢ããŸãã ãããã®é¢æ°ã®äœ¿çšäŸã次ã«ç€ºããŸãã
console.time('myTime'); // myTime console.timeEnd('myTime'); // myTime //: myTime:123.00 ms
äžèšã®äŸã§ã¯ãã¿ã€ããŒãéå§ããŠããåæ¢ãããŸã§ã®æéãç¥ãããšãã§ããŸãã JavaScriptããã°ã©ã å ã§åãããšãè¡ããã³ãŒãã®å®è¡æéãèŠã€ããããšãã§ããŸãã
ã«ãŒãã®ç¶ç¶æéã調ã¹ãå¿ èŠããããšããŸãããã 次ã®æ¹æ³ã§å®è¡ã§ããŸãã
console.time('myTime'); // myTime for(var i=0; i < 100000; i++){ 2+4+5; } console.timeEnd('mytime'); // myTime // - myTime:12345.00 ms
6.ããŒãã«åœ¢åŒã®å€æ°å€ã®åºå
ãã®ãããªãªããžã§ã¯ãã®é åããããšããŸãïŒ
var myArray=[{a:1,b:2,c:3},{a:1,b:2,c:3,d:4},{k:11,f:22},{a:1,b:2,c:3}]
ã³ã³ãœãŒã«ã«è¡šç€ºãããšãå®éã«ã¯ãªããžã§ã¯ãã®é åãšãã圢ã§éå±€æ§é ãåŸãããŸãã ããã¯äŸ¿å©ãªæ©èœã§ããããªããžã§ã¯ãã®å 容ã衚瀺ããããšã§æ§é ã®åå²ãå±éã§ããŸãã ãã ãããã®ã¢ãããŒãã§ã¯ãããšãã°é¡äŒŒã®èŠçŽ ã®ããããã£ãã©ã®ããã«é¢é£ããããç解ããããšã¯å°é£ã§ãã ãã®ãããªããŒã¿ãæäœããããããããã«ã衚圢åŒãã¥ãŒã«å€æã§ããŸãã ãããè¡ãã«ã¯ã次ã®ã³ãã³ãã䜿çšããŸãã
console.table(variableName)
å€æ°ãšãã®ãã¹ãŠã®ããããã£ãããŒãã«ã«è¡šç€ºã§ããŸãã å€èŠ³ã¯æ¬¡ã®ãšããã§ãã
ããŒãã«åœ¢åŒã®ãªããžã§ã¯ãã®é åã®åºå
7.ã¢ã€ãã ã³ãŒãã衚瀺ãã
次ã®ã³ãã³ãã䜿çšããŠãã³ã³ãœãŒã«ããã¢ã€ãã ã³ãŒãã«ãã°ãããžã£ã³ãã§ããŸãã
- inspectïŒ$ïŒ 'selector'ïŒïŒã³ãã³ãã䜿çšãããšãGoogle Chromeéçºè
ããŒã«ã®[ èŠçŽ ]ããã«ã§ãã»ã¬ã¯ã¿ãŒã«å¯Ÿå¿ããèŠçŽ ã®ã³ãŒããéãããšãã§ããŸãã ããšãã°ãã³ãã³ãinspectïŒ$ïŒ 'ïŒfirstName'ïŒïŒã䜿çšãããšãèå¥åfirstNameãæã€èŠçŽ ã®ã³ãŒãã衚瀺ã§ããŸãã inspectïŒ$$ïŒ 'a'ïŒ[3]ïŒã³ãã³ãã¯ãDOMã«ååšãã4çªç®ã®ãªã³ã¯ã³ãŒããéããŸãã
- $ 0 ã $ 1 ã $ 2ã®åœ¢åŒã®ã³ãã³ãã䜿çšãããšãæè¿è¡šç€ºããã¢ã€ãã ã«ãã°ãããžã£ã³ãã§ããŸãã ããšãã°ã $ 0ã¯æåŸã«è¡šç€ºãããã¢ã€ãã ã®ã³ãŒããéããŸãã
8.ã¢ã€ãã ããããã£ã®äžèŠ§è¡šç€º
èŠçŽ ã®ããããã£ã®ãªã¹ãã衚瀺ããå¿ èŠãããå Žåã¯ãã³ã³ãœãŒã«ã圹ç«ã¡ãŸãã ããã§ã¯æ¬¡ã®ã³ãã³ãã䜿çšãããŸãã
dir($('selector'))
æå®ãããDOMèŠçŽ ã«é¢é£ä»ããããããããã£ãå«ããªããžã§ã¯ããè¿ããŸãã ä»ã®åæ§ã®å Žåãšåæ§ã«ããã®ãªããžã§ã¯ãã®å 容ã¯ããã®ããªãŒæ§é ã調ã¹ãããšã§èª¿ã¹ãããšãã§ããŸãã
9.æåŸã®çµæãåŒã³åºã
ã³ã³ãœãŒã«ã¯é»åãšããŠäœ¿çšã§ããŸããããããã誰ãããããç¥ã£ãŠããŸãã ãã ããã³ãã³ãã§ä»¥åã®èšç®ã®çµæã䜿çšã§ããçµã¿èŸŒã¿ããŒã«ããããšããäºå®ã¯ã»ãšãã©ç¥ãããŠããŸããã $ _ã³ã³ã¹ãã©ã¯ãã䜿çšãããšãåã®åŒã®çµæãã¡ã¢ãªããååŸã§ããŸãã ããã¯æ¬¡ã®ãããªãã®ã§ãã
2+3+4 9 //- - 9 $_ 9 // $_ * $_ 81 // 9, 81 Math.sqrt($_) 9 // , 81 $_ 9 // 9 â
10.ã³ã³ãœãŒã«ãšã¡ã¢ãªã®ã¯ãªãŒãã³ã°
ã³ã³ãœãŒã«ãšã¡ã¢ãªãã¯ãªã¢ããå¿ èŠãããå Žåã¯ã次ã®ç°¡åãªã³ãã³ãã䜿çšããŸãã
clear()
EnterããŒãæŒããšãæ°ããå®éšçšã«ã¯ãªãŒã³ã³ã³ãœãŒã«ãæºåã§ããŸãã
以äžã§ãã
11ã12ã13ã14 ...
ççŽã«èšã£ãŠãããã¯ãã¹ãŠããé ãã§ãã Google Chromeã³ã³ãœãŒã«ã®æããã§ãªãæ©èœã®äžéšã玹ä»ããŸããã å®éã ãã£ãšãããããããŸã ã ããªãã¯ããªãèªèº«ã®çºèŠã§ç§ã®ãªã¹ããåºããããšãã§ãããšç¢ºä¿¡ããŠããŸãã
ç§ã®è©±ããæéãç¯çŽãããŠã§ãããã°ã©ããŒã®æ¥åžžå µåšã®äžéšãšãªãã«å€ããChromeã³ã³ãœãŒã«ã«é¢ããæçšãªæ å ±ãåŠã¶ã®ã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸãã
ã©ã®ããŒã«ã䜿çšããŠããŸããïŒ ããããžã§ãŒã¯ãã·ã§ã¢ããŸãããïŒ :)