ÙØ¨Ù از ÙÙØ´ØªÙ Ú©Ø¯ÙØ§Û Ù¾ÛÚÛØ¯ÙâØªØ±Ø Ø¨ÛØ§Ûد Ø¯Ø±Ù ÙØ±Ø¯ اشکاÙâØ²Ø¯Ø§ÛÛ ØµØØ¨Øª Ú©ÙÛÙ .
اشکاÙâØ²Ø¯Ø§ÛÛ ÙØ±Ø¢ÛÙØ¯ Ù¾ÛØ¯Ø§ کرد٠٠ØÙ Ø®Ø·Ø§ÙØ§Û درÙÙ ÛÚ© اسکرÛپت است.
٠ا در اÛÙâØ¬Ø§ از کرÙÙ Ø§Ø³ØªÙØ§Ø¯Ù Ù ÛâÚ©ÙÛÙ Ø ÚÙÙ Ø¯Ø§Ø±Ø§Û Ø§Ù Ú©Ø§ÙØ§Øª کاÙÛ Ø§Ø³ØªØ Ø§Ú©Ø«Ø± Ù Ø±ÙØ±Ú¯Ø±ÙØ§Û Ø¯Ûگر ÙÛØ² ÙØ±Ø¢ÛÙØ¯Û Ù Ø´Ø§Ø¨Ù Ø¯Ø§Ø±ÙØ¯.
Ù¾Ù٠«Sources»
اÛÙ Ù¾Ù٠در ÙØ³Ø®Ù٠کرÙ٠ش٠ا ٠٠ک٠است Ú©Ù Û Ù ØªÙØ§Ùت Ø¨Ù ÙØ¸Ø± Ø¨Ø±Ø³Ø¯Ø Ø§Ù Ø§ ÙÙ ÚÙØ§Ù اÛÙ Ø¯Ø³ØªÙØ±Ø§Ùع٠٠٠ÛâØ¨Ø§ÛØ³Øª ÙØ§Ø¶Ø باشد.
- در کرÙÙ ØµÙØÙÙ ÙÙ ÙÙ٠را باز Ú©ÙÛØ¯.
- Developer tools را با F12 (Mac: Cmd+Opt+I) باز Ú©ÙÛØ¯.
- Ù¾ÙÙ
Sourcesرا Ø§ÙØªØ®Ø§Ø¨ Ú©ÙÛØ¯.
اگر Ø¨Ø±Ø§Û Ø§ÙÙÛÙâØ¨Ø§Ø± اÛ٠کار را Ù ÛâÚ©ÙÛØ¯Ø Ø§ØØªÙ Ø§ÙØ§Ù ÚÙÛÙ ÚÛØ²Û را ببÛÙÛØ¯:
دک٠ÙÙ Ù Ø´Ø®ØµâØ´Ø¯Ù ØªØ¨ Ù٠را٠با ÙØ§ÛÙâÙØ§ را باز Ù ÛâÚ©ÙØ¯.
Ø¨ÛØ§ÛÛØ¯ آ٠را Ú©ÙÛÚ© Ú©ÙÛÙ
Ù index.html ٠سپس hello.js را در ØØ§Ùت Ø¯Ø±Ø®ØªÛ Ø§ÙØªØ®Ø§Ø¨ Ú©ÙÛÙ
. ÚÙÛÙ ÚÛØ²Û Ø¨Ø§ÛØ¯ ÙØ´Ø§Ù Ø¯Ø§Ø¯Ù Ø´ÙØ¯:
Ù¾ÙÙ sources س٠بخش دارد:
- بخش File Navigator ÙØ§ÛÙâÙØ§Û اÚâØªÛâØ§Ù âØ§ÙØ Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±ÛÙ¾ØªØ Ø³ÛâØ§Ø³âØ§Ø³ ٠دÛگر ÙØ§ÛÙâÙØ§ Ø±Ø§Ø Ø´Ø§Ù Ù Ø¹Ú©Ø³âÙØ§Û ض٠ÛÙ ÙâØ´Ø¯Ù Ø¨Ù ØµÙØÙ Ø±Ø§ ÙÛØ³Øª Ù ÛâÚ©ÙØ¯. Ø§ÙØ²ÙÙÙâÙØ§Û کرÙÙ ÙÛØ² ٠٠ک٠است در اÛ٠بخش ÙØ´Ø§Ù داد٠شÙÙØ¯.
- بخش Code Editor کد Ù ÙØ¨Ø¹ را ÙÙ Ø§ÛØ´ Ù ÛâØ¯ÙØ¯.
- بخش JavaScript Debugging Ø¨Ø±Ø§Û Ø§Ø´Ú©Ø§ÙâØ²Ø¯Ø§ÛÛ Ø§Ø³ØªØ Ø¨ÙâØ²ÙØ¯Û آ٠را Ø¨Ø±Ø±Ø³Û Ù ÛâÚ©ÙÛÙ .
اکÙÙÙ Ù ÛâØªÙØ§ÙÛØ¯ ÙÙ Ø§Ù Ø¯Ú©Ù Ù Ù Ø´Ø®ØµâØ´Ø¯Ù Ø±Ø§ Ø¯ÙØ¨Ø§Ø±Ù Ú©ÙÛÚ© Ú©ÙÛØ¯ تا ÙÛØ³Øª Ù ÙØ§Ø¨Ø¹ Ù Ø®ÙÛ Ø´ÙØ¯ ٠جا Ø¨Ø±Ø§Û Ú©Ø¯ باز Ø´ÙØ¯.
Ú©ÙØ³ÙÙ
اگر دکÙ
ÙÙ Esc را ÙØ´Ø§Ø± دÙÛØ¯, ÛÚ© Ú©ÙØ³Ù٠در پاÛÛ٠باز Ù
ÛâØ´ÙØ¯. Ù
ا Ù
ÛâØªÙØ§ÙÛÙ
Ø¯Ø³ØªÙØ±Ø§Øª را در Ø¢ÙØ¬Ø§ تاÛÙ¾ Ú©ÙÛÙ
Ù Enter را ÙØ´Ø§Ø± دÙÛÙ
تا اجرا Ø´ÙÙØ¯.
بعد از Ø§Ø¬Ø±Ø§Û ØªÚ©ÙâÚ©Ø¯Ø ÙØªØ§Ûج آ٠در Ø²ÛØ± Ø¢Ù ÙÙ Ø§ÛØ´ داد٠٠ÛâØ´ÙÙØ¯.
Ø¨Ø±Ø§Û Ù
Ø«Ø§ÙØ ÙØªÛج٠1+2 Ù
ÛâØ´ÙØ¯ 3Ø Ø¯Ø± ØØ§ÙÛ Ú©Ù ÙØ±Ø§Ø®ÙاÙÛ ØªØ§Ø¨Ø¹ hello("debugger") ÚÛØ²Û را بر ÙÙ
ÛâÚ¯Ø±Ø¯Ø§ÙØ¯Ø پس ÙØªÛج٠undefined است:
برÛÚ©âÙ¾ÙÛÙØªâÙØ§
Ø¨ÛØ§ÛÛØ¯ Ø¨Ø±Ø±Ø³Û Ú©ÙÛÙ
در کد ØµÙØÙÙ ÙÙ
ÙÙÙ ÚÙ Ø§ØªÙØ§ÙÛ Ù
ÛâØ§ÙØªØ¯. در hello.jsØ Ø±ÙÛ Ø®Ø· Ø´Ù
ارÙÙ 4 Ú©ÙÛÚ© Ú©ÙÛØ¯. بÙÙØ رÙÛ Ø®ÙØ¯ عدد 4 Ø Ù٠رÙÛ Ú©Ø¯.
تبرÛÚ©! Ø´Ù
ا ÛÚ© برÛÚ©âÙ¾ÙÙÛØª ست Ú©Ø±Ø¯ÛØ¯. ÙØ·Ùا٠رÙÛ Ø¹Ø¯Ø¯ خط 8 ÙÙ
Ú©ÙÛÚ© Ú©ÙÛØ¯.
Ø¨Ø§ÛØ¯ ÚÙÛÙ ÚÛØ²Û را ببÛÙÛØ¯: (بخش Ø¢Ø¨Û Ø¬Ø§ÛÛâØ³Øª Ú©Ù Ø¨Ø§ÛØ¯ Ú©ÙÛÚ© Ú©ÙÛØ¯):
ÛÚ© برÛÚ©âÙ¾ÙÛÙØª ÙÙØ·ÙâØ§Û Ø§Ø² کد است ک٠اشکاÙâØ²Ø¯Ø§ Ø¨Ù ØµÙØ±Øª Ø®ÙØ¯Ú©Ø§Ø± در Ø¢ÙâØ¬Ø§ Ø§Ø¬Ø±Ø§Û Ú©Ø¯ Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت را ٠تÙÙÙ Ù ÛâÚ©ÙØ¯.
Ø¯Ø±ØØ§ÙÛ Ú©Ù Ø§Ø¬Ø±Ø§Û Ú©Ø¯ ٠تÙÙÙ Ø´Ø¯Ù Ø§Ø³ØªØ Ù Ø§ Ù ÛâØªÙØ§ÙÛÙ Ù ØªØºÛØ±ÙØ§Û ÙØ¹ÙÛ Ø±Ø§ Ø¨Ø±Ø±Ø³Û Ú©ÙÛÙ Ø Ø¯Ø³ØªÙØ±Ø§ØªÛ را در Ú©ÙØ³Ù٠اجرا Ú©ÙÛÙ Ù ØºÛØ±Ù. Ø¨Ù Ø¹Ø¨Ø§Ø±ØªÛ Ø¯ÛÚ¯Ø±Ø Ù ÛâØªÙØ§ÙÛ٠آ٠را اشکاÙâØ²Ø¯Ø§ÛÛ Ú©ÙÛÙ .
ÙÙ ÛØ´Ù Ù ÛâØªÙØ§ÙÛÙ ÙÛØ³ØªÛ از برÛÚ©âÙ¾ÙÛÙØªâÙØ§ را در Ù¾Ù٠س٠ت راست Ù¾ÛØ¯Ø§ Ú©ÙÛÙ . اÛÙ Ù¾Ù٠در ز٠اÙÛ Ú©Ù Ø¨Ø±ÛÚ©âÙ¾ÙÙÛØªâÙØ§Û Ø²ÛØ§Ø¯Û در ÙØ§ÛÙâÙØ§Û ٠ختÙÙÛ Ø¯Ø§Ø±ÛÙ Ø Ù ÛâØªÙØ§Ùد کارآ٠د باشد. اÛÙ Ù¾Ù٠ب٠اÛ٠ا٠کا٠را Ù ÛâØ¯ÙØ¯ تا:
- Ø³Ø±ÛØ¹Ø§Ù ب٠٠کا٠برÛÚ©âÙ¾ÙÛÙØª در کد بپرÛÙ . (با Ú©ÙÛÚ©âکرد٠بر رÙÛ Ø¢Ù Ø¯Ø± Ù¾Ù٠س٠ت راست).
- Ø¨Ù ØµÙØ±Øª Ù ÙÙØª برÛÚ©âÙ¾ÙÛÙØª را ØºÛØ±Ùعا٠کÙÛ٠با Ø¢ÙâÚÚ© کردÙâØ´.
- برÛÚ©âÙ¾ÙÛÙØª را با راست Ú©ÙÛÚ© Ù Ø§ÙØªØ®Ø§Ø¨ کرد٠گزÛÙÙ Remove ØØ°Ù Ú©ÙÛÙ .
- ٠دÛگر Ù ÙØ§Ø±Ø¯â¦
راست Ú©ÙÛÚ© بر رÙÛ Ø´Ù Ø§Ø±Ù٠خط اÛ٠ا٠کا٠را Ù ÛâØ¯ÙØ¯ تا ÛÚ© برÛÚ©âÙ¾ÙÛÙØª Ø´Ø±Ø·Û ØªØ¹Ø±ÛÙ Ú©ÙÛÙ . اÛ٠برÛÚ©âÙ¾ÙÛÙØª تÙÙØ§ ز٠اÙÛ ØµØ¯Ø§Ø²Ø¯Ù Ù ÛâØ´ÙØ¯ ک٠شرط تعÛÛÙâØ´Ø¯Ù Ø¯Ø± ÙÙÚ¯Ø§Ù Ø§ÛØ¬Ø§Ø¯ برÛÚ©âÙ¾ÙÛÙØª درست باشد.
اÛ٠ا٠کا٠٠ÛâØªÙØ§Ùد Ø¨Ø±Ø§Û Ø²Ù Ø§ÙÛ Ú©Ù ÙÛØ§Ø² دارÛ٠تا تÙÙØ§ Ø¨Ø±Ø§Û ÛÚ© Ù ØªØºÛØ± خاص ÛØ§ Ù¾Ø§Ø±Ø§Ù ØªØ±ÙØ§Û Ø®Ø§ØµÛ Ø¨Ø±Ø§Û ÙØ§Ùکش٠تÙÙÙ Ú©ÙÛ٠کارآ٠د باشد.
Ø¯Ø³ØªÙØ± âdebuggerâ
Ù
ا ÙÙ
ÚÙÛÙ Ù
ÛâØªÙØ§ÙÛÙ
با Ø§Ø³ØªÙØ§Ø¯Ù از Ø¯Ø³ØªÙØ± debugger کد را Ù
تÙÙÙ Ú©ÙÛÙ
Ø Ù
Ø«ÙØ§Ù:
function hello(name) {
let phrase = `Hello, ${name}!`;
debugger; // <-- اشکاÙâØ²Ø¯Ø§ اÛÙØ¬Ø§ تÙÙÙ Ù
ÛâÚ©ÙØ¯
say(phrase);
}
ÚÙÛÙ Ø¯Ø³ØªÙØ±Û تÙÙØ§ ز٠اÙÛ Ú©Ù Ø§Ø¨Ø²Ø§Ø±ÙØ§Û ØªÙØ³Ø¹Ù باز Ø¨Ø§Ø´ÙØ¯ کار Ù ÛâÚ©ÙØ¯ ٠در ØºÛØ± اÛÙ ØµÙØ±Øª Ù Ø±ÙØ±Ú¯Ø± آ٠را ÙØ§Ø¯Ûد٠٠ÛâÚ¯ÛØ±Ø¯.
تÙÙÙ Ù Ú¯ÙØ´ØªÙ
در Ù
ثا٠Ù
Ø§Ø hello() در زÙ
Ø§Ù Ø¨Ø§Ø±Ú¯Ø²Ø§Ø±Û ØµÙØÙ ØµØ¯Ø§ زد٠Ù
ÛâØ´ÙØ پس سادÙâØªØ±ÛÙ Ø±Ø§Ù Ø¨Ø±Ø§Û ÙØ¹Ø§Ùâکرد٠اشکاÙâØ²Ø¯Ø§ (بعد از ست کرد٠برÛÚ©âÙ¾ÙÛÙØª) Ø¨Ø§Ø±Ú¯Ø²Ø§Ø±Û Ù
جدد ØµÙØÙâØ³Øª. پس Ø¨ÛØ§Ûد F5 (Windows, Linux) ÛØ§ Cmd+R (Mac) Ø±Ù ÙØ´Ø§Ø± بدÛÙ
.
Ù٠اÙâØ·ÙØ± ک٠برÛÚ©âÙ¾ÙÛÙØª ست Ø´Ø¯ÙØ Ø§Ø¬Ø±Ø§Û Ú©Ø¯ در خط ÚÙØ§Ø±Ù ٠تÙÙÙ Ù ÛâØ´Ù:
Ø¯Ø±Ø§Ù¾âØ¯Ø§ÙÙâÙØ§Û س٠ت راست(Ù Ø´Ø®ØµâØ´Ø¯Ù Ø¨Ø§ ÙÙØ´) ر٠باز Ú©ÙÛØ¯. با Ø§Ø³ØªÙØ§Ø¯Ù از اÙÙâÙØ§ Ù ÛâØªÙÙÛØ¯ ÙØ¶Ø¹Ûت ÙØ¹ÙÛ Ú©Ø¯ Ø±Ù Ø¨Ø±Ø±Ø³Û Ú©ÙÛØ¯:
-
Watchâ .ÙÙ Ø§ÛØ´ Ù ÙØ§Ø¯Ûر ÙØ¹ÙÛ Ø¨Ø±Ø§Û ÙØ± عبارتش٠ا Ù ÛâØªÙØ§ÙÛØ¯ دک٠٠بÙâØ¹ÙØ§ÙÙ
+را ÙØ´Ø§Ø± دÙÛØ¯ Ù ÛÚ© عبارت ÙØ§Ø±Ø¯ Ú©ÙÛØ¯. اشکاÙâØ²Ø¯Ø§ Ù ÙØ¯Ø§Ø± آ٠را در ÙØ± ÙØØ¸Ù Ø§Ø² ÙØ±Ø¢ÛÙØ¯ Ø§Ø¬Ø±Ø§Ø Ø¨Ù ØµÙØ±Øª Ø®ÙØ¯Ú©Ø§Ø± Ø¯ÙØ¨Ø§Ø±Ù Ù ØØ§Ø³Ø¨Ù Ù ÛâÚ©ÙØ¯ Ù ÙÙ Ø§ÛØ´ Ø®ÙØ§Ùد داد. -
Call Stackâ .ÙÙ Ø§ÛØ´ Ø²ÙØ¬ÛرÙ٠صدازدÙâÙØ§Û ØªÙØ¯Ø±ØªÙدر ÙØØ¸ÙÙ ÙØ¹ÙÛ Ø§Ø´Ú©Ø§ÙâØ²Ø¯Ø§ ØµØ¯Ø§Ø²Ø¯ÙØ´Ø¯Ù ØªÙØ³Ø·
hello()است, Ú©Ù Ø®ÙØ¯ آ٠صدازدÙâØ´Ø¯Ù ØªÙØ³Ø· اسکرÛÙ¾ØªÛ Ø¨Ø§ ÙØ§Ùindex.htmlاست. (ÙÛÚ ØªØ§Ø¨Ø¹Û ÙØ¬Ùد ÙØ¯Ø§Ø±Ø¯Ø پس «anonymous» ÙØ§Ù ÛØ¯Ù Ù ÛâØ´ÙØ¯).اگر بر رÙÛ ÛÚ© پشت٠کÙÛÚ© Ú©ÙÛØ¯ (Ù Ø«ÙØ§Ù«anonymous»)Ø Ø§Ø´Ú©Ø§ÙâØ²Ø¯Ø§ ب٠کد Ù ØªÙØ§Ø¸Ø± Ø¢Ù Ù ÛâÙ¾Ø±Ø¯Ø Ù ÙÙ ÙÙ Ù ØªØºÛØ±ÙØ§Û Ø¢Ù Ù ÛâØªÙØ§ÙÙØ¯ Ø¨Ø±Ø±Ø³Û Ø´ÙÙØ¯.
-
Scopeâ Ù ØªØºÛØ±ÙØ§Û ÙØ¹ÙÛLocalÙ ØªØºÛØ±ÙØ§Û ØªØ§Ø¨Ø¹ Ù ØÙÛ Ø±Ø§ ÙÙ Ø§ÛØ´ Ù ÛâØ¯ÙØ¯. ÙÙ ÚÙÛÙ Ù ÛâØªÙØ§ÙÛØ¯ Ù ÙØ§Ø¯Ûر Ø¢ÙâÙØ§ را برجستÙâØ´Ø¯Ù Ø³Ù Øª راست Ù ÙØ¨Ø¹ ببÛÙÛØ¯.GlobalØ´Ø§Ù Ù Ù ØªØºÛØ±ÙØ§Û Ø³Ø±Ø§Ø³Ø±Û Ù ÛâØ´ÙØ¯. (Ø¨ÛØ±Ù٠از ØªÙØ§Ø¨Ø¹).ÙÙ ÚÙÛÙ Ú©ÙÛØ¯ÙاÚÙÙ
thisÙÛØ² در Ø¢ÙâØ¬Ø§ ÙØ¬Ùد دارد ک٠٠ا ÙÙÙØ² ÛØ§Ø¯ ÙÚ¯Ø±ÙØªÙâØ§ÛÙ Ø ÙÙÛ Ø¨ÙâØ²ÙØ¯Û Ø®ÙØ§ÙÛÙ Ú¯Ø±ÙØª.
Ø±Ø¯ÛØ§Ø¨Û ÙØ±Ø¢ÛÙØ¯ اجرا
اکÙÙÙ ÙÙØª آ٠است ک٠اسکرÛپت را Ø±Ø¯ÛØ§Ø¨Û Ú©ÙÛÙ .
دک٠ÙâÙØ§ÛÛ Ø¨Ø±Ø§Û Ø§ÛÙâکار در Ø¨Ø§ÙØ§Û Ù¾Ù٠س٠ت راست ÙØ¬Ùد دارد. Ø¨ÛØ§Ûد از Ø¢ÙâÙØ§ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛÙ .
â âResumeâ: ÙØ±Ø¢ÛÙØ¯ اجرا را ادا٠٠٠ÛâØ¯ÙØ¯Ø Ù ÛØ§Ùبر F8. :ÙØ±Ø¢ÛÙØ¯ اجرا را ادا٠٠٠ÛâØ¯ÙØ¯. اگر ÙÛÚ Ø¨Ø±ÛÚ©âÙ¾ÙÛÙØª دÛÚ¯Ø±Û ÙØ¨ÙØ¯Ø ØªÙÙØ§ ÙØ±Ø¢ÛÙØ¯ اجرا Ø§Ø¯Ø§Ù Ù Ù¾ÛØ¯Ø§ Ù ÛâÚ©ÙØ¯ ٠اشکاÙâØ²Ø¯Ø§ Ú©ÙØªØ±Ù را از دست Ù ÛâØ¯ÙØ¯.
بعد از Ú©ÙÛÚ© رÙÛ Ø¢ÙØ ÚÙÛÙ ÚÛØ²Û را Ù
ÛâØ¨ÛÙÛÙ
:

ÙØ±Ø¢ÛÙØ¯ اجرا اداÙ
Ù Ù¾ÛØ¯Ø§ کردÙâØ³ØªØ Ø¨Ù Ø¨Ø±ÛÚ©âÙ¾ÙÛÙØª دÛÚ¯Ø±Û Ø¯Ø±ÙÙ `say()` Ø±Ø³ÛØ¯Ù است Ù Ù
تÙÙ٠شد٠است. ب٠«Call Stack» در سÙ
ت راست Ùگا٠کÙÛØ¯. با ÛÚ© صدازد٠دÛگر Ø§ÙØ²Ø§ÛØ´ Ù¾ÛØ¯Ø§Ú©Ø±Ø¯Ù است. Ù
ا ÙÙ
âØ§Ú©ÙÙ٠درÙÙ `say()` ÙØ³ØªÛÙ
.
- â âStepâ: Ø¯Ø³ØªÙØ± Ø¨Ø¹Ø¯Û Ø±Ø§ اجرا Ù ÛâÚ©ÙØ¯, Ù ÛØ§Ùبر F9.
-
عبارت Ø¨Ø¹Ø¯Û Ø±Ø§ اجرا Ù ÛâÚ©ÙØ¯. اگر آ٠را Ú©ÙÛÚ© Ú©ÙÛÙ Ø
alertÙÙ Ø§ÛØ´ Ø¯Ø§Ø¯Ù Ø®ÙØ§Ùد شد.Ú©ÙÛÚ© Ú©Ø±Ø¯Ù Ø¯ÙØ¨Ø§Ø±Ù Ù Ø¯ÙØ¨Ø§Ø±Ù اÛÙØ Ú¯Ø§Ù âØ¨Ùâگا٠ÙÙ Ù٠عبارات اسکرÛپت را اجرا Ù ÛâÚ©ÙØ¯.
- â «Step over»: Ø¯Ø³ØªÙØ± Ø¨Ø¹Ø¯Û Ø±Ø§ اجرا Ù ÛâÚ©ÙØ¯Ø ا٠ا ÙØ§Ø±Ø¯ ÛÚ© تابع ÙÙ ÛâØ´ÙØ¯Ø Ù ÛØ§Ùبر F10.
-
٠اÙÙØ¯ Ø¯Ø³ØªÙØ± ÙØ¨ÙÛ Â«StepÂ»Ø Ø§Ù Ø§ اگر عبارت Ø¨Ø¹Ø¯Û ÛÚ© ÙØ±Ø§Ø®ÙاÙÛ ØªØ§Ø¨Ø¹ باشد Ù ØªÙØ§Ùت Ø±ÙØªØ§Ø± Ù ÛâÚ©ÙØ¯ (در Ù ÙØ±Ø¯ ØªÙØ§Ø¨Ø¹ built-in ٠اÙÙÙØ¯
alertصاد٠ÙÛØ³ØªØ تÙÙØ§ ØªÙØ§Ø¨Ø¹Û ٠ا Ø¢ÙâÙØ§ را تعرÛÙ Ù ÛâÚ©ÙÛÙ ).اگر Ø¢ÙâÙØ§ را Ù ÙØ§Ûس٠کÙÛÙ Ø Ø¯Ø³ØªÙØ± «Step» ÙØ§Ø±Ø¯ ÛÚ© ÙØ±Ø§Ø®ÙاÙÛ ØªØ§Ø¨Ø¹ ØªÙØ¯Ø±ØªÙ Ù ÛâØ´ÙØ¯ Ù ÙØ±Ø¢ÛÙØ¯ اجرا را در خط اÙ٠آ٠٠تÙÙÙ Ù ÛâÚ©ÙØ¯Ø در ØØ§ÙÛ Ú©Ù Ø¯Ø³ØªÙØ± «Step over» ÙØ±Ø§Ø®ÙاÙÛâÙØ§Û ØªÙØ¯Ø±ØªÙÛ ØªØ§Ø¨Ø¹ را Ø¨Ù ØµÙØ±Øª Ù¾ÙÙØ§ÙÛ Ø§Ø¬Ø±Ø§ Ù ÛâÚ©ÙØ¯ ٠از تابعâÙØ§Û داخÙÛ Ø±Ø¯ Ù ÛâØ´ÙØ¯.
سپس ÙØ±Ø¢ÛÙØ¯ اجرا بعد از Ø¢Ù ÙØ±Ø§Ø®ÙاÙÛ ØªØ§Ø¨Ø¹ Ø¨ÙØ§ÙاصÙ٠٠تÙÙÙ Ù ÛâØ´ÙØ¯.
اÛÙ Ø¯Ø³ØªÙØ± اگر ÙØ®ÙاÙÛ٠ببÛÙÛ٠داخ٠تابع ÚÙ Ø§ØªÙØ§ÙÛ Ù ÛâØ§ÙØªØ¯Ø Ù ÛâØªÙØ§Ùد Ù ÙÛØ¯ ÙØ§Ùع Ø´ÙØ¯.
- â âStep intoâ, Ù ÛØ§Ùبر F11.
-
شبÛ٠«step», ا٠ا در ØµÙØ±ØªÛ ک٠تابع ÙØ§ÙÙ Ú¯Ø§Ù Ø¨Ø§Ø´Ø¯Ø Ù ØªÙØ§Ùت Ø±ÙØªØ§Ø± Ù ÛâÚ©ÙØ¯. اگر ØªØ§Ø²Ù Ø´Ø±ÙØ¹ Ø¨Ù ÛØ§Ø¯Ú¯ÛØ±Û Ø¬Ø§ÙØ§Ø§Ø³Ú©Ø±Ûپت Ú©Ø±Ø¯Ù Ø§ÛØ¯Ø Ù ÛâØªÙØ§ÙÛØ¯ اÛÙ ØªÙØ§Ùت را ÙØ§Ø¯ÛØ¯Ù Ø¨Ú¯ÛØ±ÛØ¯Ø ÚÙÙ ÙÙÙØ² ØªÙØ§Ø¨Ø¹ ÙØ§Ù٠گا٠را ÙÙ ÛâØ¯Ø§ÙÛÙ .
Ø¨Ø±Ø§Û Ø¢ÛÙØ¯ÙØ Ø¨Ù Ø®Ø§Ø·Ø± Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´ÛØ¯ Ú©Ù Ø¯Ø³ØªÙØ± «Step» command ع٠ÙâÙØ§Û ÙØ§Ù٠گا٠را ÙØ§Ø¯Ûد٠٠ÛâÚ¯ÛØ±Ø¯Ø ٠اÙÙØ¯
setTimeout(ز٠اÙâØ¨ÙØ¯Û ØµØ¯Ø§Ø²Ø¯Ù ØªÙØ§Ø¨Ø¹), ک٠بعدا٠اجرا Ù ÛâÚ©ÙØ¯. Ø¯Ø³ØªÙØ± «Step into» ÙØ§Ø±Ø¯ Ø¢ÙâÙØ§ Ù ÛâØ´ÙØ¯Ø اگر ÙÛØ§Ø² باشد Ø¨Ø±Ø§Û Ø¢ÙâÙØ§ صبر Ù ÛâÚ©ÙØ¯. DevTools manual را Ø¨Ø±Ø§Û Ø§Ø·ÙØ§Ø¹Ø§Øª Ø¨ÛØ´ØªØ± ببÛÙÛØ¯. - â âStep outâ: ÙØ±Ø¢ÛÙØ¯ اجرا را تا Ø§ÙØªÙØ§Û ØªØ§Ø¨Ø¹ ÙØ¹ÙÛ Ø§Ø¯Ø§Ù Ù Ù ÛâØ¯ÙØ¯, Ù ÛØ§Ùبر Shift+F11.
-
ÙØ±Ø¢ÛÙØ¯ اجرا را ادا٠٠٠ÛâØ¯ÙØ¯ ٠در خط آخر تابع ÙØ¹ÙÛ Ù ØªÙÙÙ Ù ÛâØ´ÙØ¯. در ز٠اÙÛ Ú©Ù ØªØµØ§Ø¯ÙØ§Ù ÙØ§Ø±Ø¯ ÛÚ© تابع ØªÙØ¯Ø±ØªÙ شدÙâØ§ÛÙ ÙÙÛ Ø¹ÙØ§ÙÙâØ§Û Ø¨ÙØ Ø¢Ù ÙØ¯Ø§Ø±ÛÙ Ø Ù Ù ÛâØ®ÙØ§ÙÛ٠در Ø³Ø±ÛØ¹âترÛ٠ز٠ا٠٠٠ک٠ب٠آخر آ٠برسÛÙ Ø Ú©Ø§Ø±Ø¨Ø±Ø¯Û Ø§Ø³Øª.
- â enable/disable all breakpoints.
-
اÛÙ Ø¯Ú©Ù Ù ÙØ±Ø¢ÛÙØ¯ اجرا را تغÛÛØ± ÙÙ ÛâØ¯Ù. ÙÙØ· Ø¨Ø±Ø§Û Ø®Ø§Ù ÙØ´/Ø±ÙØ´Ù کرد٠برÛÚ©âÙ¾ÙÛÙâÙØ§ Ø¨Ù ØµÙØ±Øª Ú©ÙÛâØ³Øª.
- â enable/disable automatic pause in case of an error.
-
ز٠اÙÛ Ú©Ù ÙØ¹Ø§Ù Ø¨Ø§Ø´Ø¯Ø Ù Developer tools باز Ø¨Ø§Ø´Ø¯Ø Ø¯Ø± ز٠ا٠ÙÙÙØ¹ خطا اسکرÛپت Ø¨Ù ØµÙØ±Øª Ø®ÙØ¯Ú©Ø§Ø± ٠تÙÙÙ Ù ÛâØ´ÙØ¯. بعد از Ø¢Ù Ù ÛâØªÙØ§ÙÛ٠درÙ٠اشکاÙâØ²Ø¯Ø§ Ù ØªØºÛØ±Ùا را تØÙÛÙ Ú©ÙÛ٠تا ٠شک٠را Ù¾ÛØ¯Ø§ Ú©ÙÛÙ . پس اگر اسکرÛپت ٠ا با ÛÚ© خطا از کار Ø§ÙØªØ§Ø¯Ø Ù ÛâØªÙØ§ÙÛ٠اشکاÙâØ²Ø¯Ø§ را باز Ú©ÙÛÙ Ø Ø§Û٠ا٠کا٠را ÙØ¹Ø§Ù Ú©ÙÛÙ Ù ØµÙØÙ Ø±Ø§ Ù Ø¬Ø¯Ø¯Ø§Ù Ø¨Ø§Ø±Ú¯ÛØ±Û Ú©ÙÛ٠تا ببÛÙÛ٠٠شک٠کجا Ø¨ÙØ¯Ù Ù ÙÙØ´ØªÙ در Ø¢Ù ÙØØ¸Ù ÚÙ Ø¨ÙØ¯Ù است.
راست Ú©ÙÛÚ© بررÙÛ ÛÚ© خط کد context menu را باز Ù ÛâÚ©ÙØ¯ Ù٠را٠با ا٠کاÙÛ Ø¹Ø§ÙÛ Ú©Ù Â«Continue to here» ÙØ§Ù ÛØ¯Ù Ù ÛâØ´ÙØ¯.
ÙÙÚ¯Ø§Ù Û Ú©Ù Ù ÛâØ®ÙØ§ÙÛÙ ÚÙØ¯Û٠گا٠ب٠جÙ٠برÙÛÙ Ø ÙÙÛ Ø®ÛÙÛ ØªÙØ¨Ù ÙØ³ØªÛ٠تا ÛÚ© برÛÚ©âÙ¾ÙÛÙØª ست Ú©ÙÛÙ Ø Ú©Ø§Ø±Ø¨Ø±Ø¯Û Ø§Ø³Øª.
رخدادÙگارÛ
Ø¨Ø±Ø§Û Ø¨Ø±ÙÙØ¯Ø§Ø¯ ÚÛØ²Û Ø¨Ù Ú©ÙØ³Ù٠از کدÙ
Ø§ÙØ Ù
ÛâØªÙØ§Ù از تابع console.log Ø§Ø³ØªÙØ§Ø¯Ù کرد.
Ø¨Ø±Ø§Û Ù
ÙØ§ÙØ Ø§ÛÙ Ù
ÙØ§Ø¯Ûر 0 تا 4 را Ø¨Ù Ú©ÙØ³Ù٠برÙÙØ¯Ø§Ø¯ Ù
ÛâÚ©ÙØ¯:
// Ú©ÙØ³Ù٠را باز Ú©ÙÛØ¯ تا ببÛÙÛØ¯
for (let i = 0; i < 5; i++) {
console.log("value,", i);
}
کاربرا٠٠ع٠ÙÙÛ Ø¢Ù Ø±Ø§ ÙÙ ÛâØ¨ÛÙÙØ¯Ø ÚÙ٠در Ú©ÙØ³Ù٠است. Ø¨Ø±Ø§Û Ø¯ÛØ¯Ù Ø¢ÙØ ÛØ§ Ù¾ÙÙ Ú©ÙØ³Ù٠را در developer tools باز Ú©ÙÛØ¯ Ù ÛØ§ دک٠٠Esc را ÙÙÚ¯Ø§Ù Û Ú©Ù Ø¯Ø± ÛÚ© Ù¾Ù٠دÛگر ÙØ³ØªÛد Ø¨ÙØ´Ø§Ø±ÛØ¯Ø Ú©ÙØ³Ù٠در پاÛÛÙ ØµÙØÙ Ø¨Ø§Ø² Ù ÛâØ´ÙØ¯.
اگر Ø¨Ù Ù ÛØ²Ø§Ù کاÙÛ Ø±Ø®Ø¯Ø§Ø¯ÙÚ¯Ø§Ø±Û Ø¯Ø± کد داشت٠باشÛÙ Ø Ù ÛâØªÙØ§ÙÛ٠از Ø³ÙØ§Ø¨Ù ببÛÙÛÙ ÚÙ Ø§ØªÙØ§ÙÛ Ø§ÙØªØ§Ø¯Ù Ø§Ø³ØªØ Ø¨Ø¯ÙÙ ÙÛØ§Ø² ب٠اشکاÙâØ²Ø¯Ø§.
Ø®ÙØ§ØµÙ
Ù٠اÙâØ·ÙØ± Ú©Ù Ù ÛâØ¨ÛÙÛÙ Ø Ø³Ù Ø±Ø§Ù Ø§ØµÙÛ Ø¨Ø±Ø§Û Ù ØªÙÙ٠کرد٠ÛÚ© اسکرÛپت ÙØ¬Ùد دارد:
- ÛÚ© برÛÚ©âÙ¾ÙÛÙØª.
- عبارات
debugger. - ÛÚ© خطا (اگر dev tools باز باشد ٠دک٠٠«on» باشد).
ÙÙØªÛ ٠تÙÙÙ Ø´Ø¯Ø Ù ÛâØªÙØ§ÙÛ٠اشکاÙâØ²Ø¯Ø§ÛÛ Ú©ÙÛÙ : Ù ØªØºÛØ±Ùا را Ø¨Ø±Ø±Ø³Û Ú©ÙÛ٠٠کد را ØªØØª ÙØ¸Ø± Ø¨Ú¯ÛØ±Û٠تا ببÛÙÛÙ Ú©Ø¬Ø§Û ÙØ±Ø¢ÛÙØ¯ اجرا Ø¨Ù Ù Ø´Ú©Ù Ø®ÙØ±Ø¯Ù است.
Ø§Ù Ú©Ø§ÙØ§Øª Ø¨Ø³ÛØ§Ø± Ø²ÛØ§Ø¯ØªØ±Û در developer tools از ÚÛØ²Û ک٠در اÛÙâØ¬Ø§ Ú¯ÙØªÙ شد ÙØ¬Ùد دارد. ØªÙØ¶ÛØØ§Øª کا٠٠در https://developers.google.com/web/tools/chrome-devtools ÙØ§Ø¨Ù دسترس است.
Ø§Ø·ÙØ§Ø¹Ø§Øª اÛ٠بخش Ø¨Ø±Ø§Û Ø´Ø±ÙØ¹ اشکاÙâØ²Ø¯Ø§ÛÛ Ú©Ø§ÙÛâØ³ØªØ Ø§Ù Ø§ Ø¨Ø¹Ø¯Ø§ÙØ Ù Ø®ØµÙØµØ§Ù اگر با Ù Ø±ÙØ±Ú¯Ø± سر ٠کار Ø¯Ø§Ø±ÛØ¯Ø ÙØ·ÙØ§Ù Ø¨Ù Ø¢ÙØ¬Ø§ برÙÛØ¯ Ù ÙØ§Ø¨ÙÛØªâÙØ§Û Ù¾ÛØ´Ø±ÙتÙÙ Ø¨ÛØ´ØªØ±Û از developer tools را ببÛÙÛØ¯.
اÙÙØ ÙÙ ÚÙÛÙ Ù ÛâØªÙØ§ÙÛØ¯ در بخشâÙØ§Û ٠ختÙÙ dev tools Ú©ÙÛÚ© Ú©ÙÛØ¯ ٠ببÛÙÛØ¯ ÚÙ Ø§ØªÙØ§ÙÛ Ù ÛâØ§ÙØªØ¯. اÛÙ Ø§ØØªÙ Ø§ÙØ§Ù Ø³Ø±ÛØ¹âترÛÙ Ø±ÙØ´ Ø¨Ø±Ø§Û ÛØ§Ø¯Ú¯ÛØ±Û dev tools است. Ú©ÙÛÚ© راست Ù context menuÙØ§ را ÙÛØ² ÙØ±Ø§Ù ÙØ´ ÙÚ©ÙÛØ¯!
ÙØ¸Ø±Ø§Øª
<code>Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯Ø Ø¨Ø±Ø§Û ÚÙØ¯Û٠خط â کد را درÙ٠تگ<pre>ÙØ±Ø§Ø± دÙÛØ¯Ø Ø¨Ø±Ø§Û Ø¨ÛØ´ از د٠خط کد â Ø§Ø² ÛÚ© جعبÙÙ Ø´ÙÛ Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯. (plnkrØ jsbinØ codepenâ¦)