ÙØ¨Ù ÙØªØ§Ø¨Ø© Ø£Ù ÙÙØ¯ Ù Ø¹ÙØ¯ , ÙÙÙØªØØ¯Ø« ÙÙÙÙØ§ ع٠تصØÙØ Ø§ÙØ£Ø®Ø·Ø§Ø¡.
(Debugging) تصØÙØ Ø§ÙØ£Ø®Ø·Ø§Ø¡ Ù٠ع٠ÙÙØ© Ø§ÙØ¨ØØ« ٠تصØÙØ Ø§ÙØ£Ø®Ø·Ø§Ø¡ Ù٠اÙÙÙØ¯. Ù٠اÙÙ ØªØµÙØØ§Øª Ø§ÙØØ¯ÙØ«Ø© Ù Ù Ø¹Ø¸Ù Ø¨ÙØ¦Ø§Øª Ø§ÙØ¹Ù ٠تدع٠تصØÙØ Ø§ÙØ£Ø®Ø·Ø§Ø¡ â ØªØ¬Ø¹Ù Ø£Ø¯ÙØ§Øª Ù Ø·ÙØ± ÙØ§Ø¬ÙØ© اÙÙ Ø³ØªØ®Ø¯Ù Ø§ÙØ®Ø§ØµØ© ع٠ÙÙØ© تصØÙØ Ø§ÙØ£Ø®Ø·Ø§Ø¡ أسÙÙ , ÙÙÙ ØªØ³Ù Ø Ø§ÙØ¶Ø§ بتتبع اÙÙÙØ¯ Ø®Ø·ÙØ© Ø¨Ø®Ø·ÙØ© ÙÙ Ø¹Ø±ÙØ© ØÙÙÙØ© ٠ا ÙØ¬Ø±Ù.
ÙÙØ§ Ø³ÙØ³ØªØ®Ø¯Ù Ø¬ÙØ¬Ù ÙØ±ÙÙ , ÙØ£Ù Ø¨ÙØ§ Ù Ù Ø§ÙØ®Ùاص اÙÙØ«Ùر ٠٠عظ٠اÙÙ ØªØµÙØØ§Øª ÙÙØ§ ع٠ÙÙØ§Øª Ù Ø´Ø§Ø¨ÙØ©.
ÙÙØØ© âØ§Ù٠صادرâ
ÙØ¯ ÙØ¨Ø¯Ù اصدار Ù ØªØµÙØ ÙØ±ÙÙ Ø§ÙØ®Ø§Øµ ب٠٠ختÙÙ ÙÙÙÙØ§ ,ÙÙÙ Ø³ÙØ¸Ù Ù٠شئ بداخÙÙ ÙØ§Ø¶Ø.
- Ø§ÙØªØ ØµÙØØ© اÙ٠ثا٠ÙÙ ÙØ±ÙÙ .
- Ù٠بتشغÙÙ Ø£Ø¯ÙØ§Øª اÙÙ Ø·ÙØ± باستخدا٠F12 Ø£Ù (Mac : Cmd+Opt+I).
- اختر ÙÙØØ© اÙÙ
صادر
Sources
ÙØ°Ø§ Ù٠٠ا سترا٠اذا ÙÙØª ØªÙØªØ Ø§ÙØµÙØØ© ÙÙÙÙÙØ© Ø§ÙØ£ÙÙÙ:
زر Ø§ÙØªØ¨Ø¯ÙÙ ÙÙØªØ Ø§ÙØªØ¨ÙÙØ¨ Ù ØØªÙÙØ§ اÙÙ ÙÙØ§Øª.
ÙÙÙØ¶ØºØ· عÙÙÙ Ù ÙØ®ØªØ§Ø± hello.js ÙÙ Ø§ÙØ¹Ø±Ø¶ Ø§ÙØ´Ø¬Ø±Ù . ÙØ°Ø§ ÙÙ Ù
ا Ø³ÙØ¸Ùر:
The Sources panel has 3 parts: ÙÙØØ© اÙ٠صادر Ø¨ÙØ§ Ø«ÙØ§Ø«Ø© Ø£ÙØ³Ø§Ù :
- ÙÙØØ© Ù Ø³ØªÙØ´Ù اÙÙ ÙÙØ§Øª Ù Ø§ÙØªÙ ÙØ¸Ùر Ø¨ÙØ§ ÙÙ Ù ÙÙØ§Øª ا٠HTML, JavaScript, CSS ٠اÙÙ ÙÙØ§Øª Ø§ÙØ£Ø®Ø±Ù Ù ØªØ¶Ù ÙØ© Ø§ÙØµÙر اÙÙ ÙØÙØ© Ø¨Ø§ÙØµÙØØ©. Ø§Ø¶Ø§ÙØ§Øª ÙØ±ÙÙ ÙØ¯ ØªØ¸ÙØ± ÙÙØ§ Ø£ÙØ¶Ø§.
- ÙÙØØ© Ù ØØ±Ø± اÙÙÙØ¯ Ù Ø§ÙØªÙ ÙØ¸Ùر Ø¨ÙØ§ ÙÙØ¯ Ø§ÙØµÙØØ©.
- ÙÙØØ© Ù ØµØØ أخطاء JavaScript ÙØªØµØÙØ Ø§ÙØ£Ø®Ø·Ø§Ø¡, Ù Ø³ÙØªÙ شرØÙا بعد ÙÙÙÙ.
Ø§ÙØ¢Ù Ø¨Ø§Ù ÙØ§ÙÙØ§ Ø§ÙØ¶ØºØ· عÙÙ ÙÙØ³ Ø§ÙØ²Ø± ÙØ§Ø®Ùاء ÙØ§Ø¦Ù Ø© اÙ٠صادر ٠اعطاء اÙÙÙØ¯ بعض اÙÙ Ø³Ø§ØØ©.
ÙØØ¯Ø© Ø§ÙØªØÙÙ (Console)
اذا Ø¶ØºØ·ÙØ§ عÙ٠زر Esc, ÙÙØ§ Ø³ØªØ¸ÙØ± ÙÙØØ© Ø§ÙØªØÙÙ Ø¨Ø§ÙØ£Ø³ÙÙ ØÙØ« ÙÙ ÙÙÙØ§ طباعة Ø§ÙØ£Ùا٠ر ٠ضغط Enter ÙØªÙÙÙØ°Ùا.
بعد Ø§Ù ÙØªÙ تÙÙÙØ° Ø§ÙØ£Ù ر, اÙÙØ§ØªØ¬ ÙØ¸Ùر اسÙÙÙ.
ÙÙ
ثاÙ, ÙÙØ§ 1+2 ÙÙØªØ¬ عÙÙØ§ 3 Ù hello("debugger") ÙØ§ ÙÙØªØ¬ عÙÙØ§ شئ, ÙØ°Ø§ ÙØ§ÙÙØ§ØªØ¬ ÙÙÙÙ undefined.
ÙÙØ§Ø· Ø§ÙØªÙÙÙ (Breakpoints)
ÙÙÙØ±Ù Ù
ا ÙØØ¯Ø« Ù٠أÙÙØ§Ø¯ ØµÙØØ© اÙÙ
ثاÙ. ÙÙ hello.js, ÙÙ
Ø¨Ø§ÙØ¶ØºØ· عÙÙ Ø§ÙØ³Ø·Ø± 4, ÙØ¹Ù
, عÙÙ Ø§ÙØ±ÙÙ
4ÙÙØ³ عÙ٠اÙÙÙØ¯ ÙÙØ³Ù
Ù
برÙÙ! ÙÙØ¯ ÙØ¶Ø¹Øª ÙÙØ·Ø© تÙÙÙ, ÙÙØªØ¶Ø¹ اخر٠عÙÙ Ø§ÙØ³Ø·Ø± رÙÙ
8>
٠٠اÙÙ ÙØªØ±Ø¶ ا٠تبد٠ÙÙØ°Ø§ (Ø§ÙØ£Ø²Ø±Ù Ù٠اÙÙ ÙØ§Ù Ø§ÙØ°Ù ÙÙØªØ±Ø¶ عÙÙÙ Ø§ÙØ¶ØºØ· عÙÙÙ) :
ÙÙØ·Ø© Ø§ÙØªÙÙÙ ÙÙ ÙÙØ·Ø© Ù٠اÙÙÙØ¯ ÙØªÙÙÙ Ø¹ÙØ¯Ùا تÙÙÙØ° ÙÙØ¯ ا٠JavaScript بشÙ٠تÙÙØ§Ø¦Ù.
ÙÙ ØÙ٠أ٠اÙÙÙØ¯ ÙÙ ØØ§ÙØ© تÙÙÙ Ù Ø¤ÙØª, ÙÙ ÙÙÙØ§ ØªØµÙØ اÙÙ ØªØºÙØ±Ø§Øª Ø§ÙØØ§ÙÙØ©, تÙÙÙØ° Ø£ÙØ§Ù ر ÙÙ ÙØØ¯Ø© Ø§ÙØªØÙÙ ,â¦Ø§ÙØ®. Ø¨ØµÙØºØ© أخر٠,ÙØ³ØªØ·Ùع تصØÙØ Ø§ÙØ£Ø®Ø·Ø§Ø¡ ÙÙÙ.
ÙÙ ÙÙÙØ§ Ø¯Ø§Ø¦Ù ÙØ§ Ø§ÙØ¹Ø«Ùر عÙÙ ÙØ§Ø¦Ù Ø© بÙÙØ§Ø· Ø§ÙØªÙÙÙ Ù٠اÙÙÙØØ© اÙÙÙ ÙÙ. ÙØ°Ø§ Ù ÙÙØ¯ Ø¹ÙØ¯Ù ا ÙÙÙÙ ÙØ¯ÙÙØ§ Ø§ÙØ¹Ø¯Ùد Ù Ù ÙÙØ§Ø· Ø§ÙØªÙÙÙ ÙÙ Ù ÙÙØ§Øª ٠ختÙÙØ©.ÙÙÙ ÙØªÙØ ÙÙØ§:
- Ø§ÙØ§ÙØªÙØ§Ù بسرعة Ø¥ÙÙ ÙÙØ·Ø© Ø§ÙØªÙÙÙ Ù٠اÙÙÙØ¯ (Ø¨Ø§ÙØ¶ØºØ· عÙÙÙØ§ Ù٠اÙÙÙØØ© اÙÙÙ ÙÙ).
- تعطÙÙ ÙÙØ·Ø© Ø§ÙØªÙÙÙ Ù Ø¤ÙØªÙا Ø¨Ø¥ÙØºØ§Ø¡ ØªØØ¯ÙØ¯ÙØ§.
- ÙÙ Ø¨Ø¥Ø²Ø§ÙØ© ÙÙØ·Ø© Ø§ÙØªÙÙ٠باÙÙÙØ± بزر اÙÙ Ø§ÙØ³ Ø§ÙØ£ÙÙ Ù ÙØ§Ø®ØªÙار Ø¥Ø²Ø§ÙØ©.
- â¦Ù ÙÙØ°Ø§.
اÙÙÙØ± بزر اÙÙ Ø§ÙØ³ Ø§ÙØ£Ù٠٠عÙ٠رÙÙ Ø§ÙØ³Ø·Ø± ÙØ³Ù Ø Ø¨Ø¥ÙØ´Ø§Ø¡ ÙÙØ·Ø© تÙÙÙ Ù Ø´Ø±ÙØ·Ø©. ÙØªÙ تشغÙÙÙØ§ ÙÙØ· Ø¹ÙØ¯Ù ا ÙÙÙÙ Ø§ÙØ´Ø±Ø· اÙ٠عط٠٠ØÙÙ.
ÙÙÙÙ ÙØ°Ø§ Ù ÙÙØ¯Ø§ Ø¹ÙØ¯ Ø§ÙØØ§Ø¬Ø© ÙÙØªÙÙÙ ÙÙØ· تبعا ÙÙ ØªØºÙØ± ٠عÙÙ Ø£Ù Ù Ø¹Ø§Ù ÙØ§Øª Ø¯Ø§ÙØ© ٠عÙÙØ©.
أ٠ر Ù ØµØØ Ø§ÙØ®Ø·Ø£(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(ÙØ§ ØªÙØ¬Ø¯ Ø¯Ø§ÙØ© ÙÙØ§Ù Ø ÙØ°ÙÙ ÙØ·Ù٠عÙÙÙ" ٠جÙÙÙ ").إذا Ù٠ت باÙÙÙØ± ÙÙÙ Ø¹ÙØµØ± ٠٠اÙÙ Ø¬Ù ÙØ¹Ø© (عÙ٠سبÙ٠اÙ٠ثا٠â٠جÙÙÙâ) Ø ÙÙØªÙÙ Ù ØµØØ Ø§ÙØ£Ø®Ø·Ø§Ø¡ Ø¥Ù٠اÙÙÙØ¯ اÙÙ ÙØ§Ø¨Ù Ø ÙÙÙ ÙÙ ÙØØµ Ø¬Ù ÙØ¹ Ù ØªØºÙØ±Ø§ØªÙ Ø£ÙØ¶Ùا.
-
Scopeâ Ø§ÙÙ ØªØºÙØ±Ø§Øª Ø§ÙØØ§ÙÙØ©.LocalÙØ¸Ùر اÙÙ ØªØºÙØ±Ø§Øª اÙÙ ØÙÙØ© ÙÙØ¯ÙاÙ. ÙÙ ÙÙÙ Ø£ÙØ¶Ùا Ø±Ø¤ÙØ© ÙÙÙ Ù٠٠ظÙÙØ© ٠باشرة ÙÙ٠اÙ٠صدر.GlobalÙÙ Ù ØªØºÙØ±Ø§Øª عا٠ة (Ù Ù Ø£Ù Ø¯ÙØ§Ù).ÙÙØ§ÙÙ Ø§ÙØ¶Ø§ ÙÙÙ Ø©
thisÙ Ø§ÙØªÙ ÙÙ ÙØ·Ùع عÙÙÙØ§ بعد, Ù ÙÙÙÙØ§ سÙÙØ¹Ù ÙØ±Ùبا.
تتبع Ø§ÙØªÙÙÙØ°
ØØ§Ù اÙÙÙØª Ø§ÙØ¢Ù ÙØªØªØ¨Ø¹ اÙÙØµ.
ØªÙØ¬Ø¯ أزرار ÙÙØ§ Ù٠أعÙ٠اÙÙÙØØ© اÙÙÙ ÙÙ. ÙÙÙØ¯Ø±Ø³ÙÙ .
- â âØ¥Ù٠اÙâ: Ø§ÙØ§Ø³ØªÙ رار ÙÙ Ø§ÙØªÙÙÙØ°, Ø²Ø±Ù Ø§ÙØ³Ø±Ùع F8.
-
Ø§Ø³ØªØ¦ÙØ§Ù Ø§ÙØªÙÙÙØ°. إذا Ù٠تÙÙ ÙÙØ§Ù ÙÙØ§Ø· تÙÙ٠إضاÙÙØ© Ø ÙØ³Ùست٠ر Ø§ÙØªÙÙÙØ° ÙÙØ· ÙÙÙÙØ¯ اÙÙ ØµØØ Ø§ÙØ³Ùطرة.
Ø¥ÙÙ٠٠ا ÙÙ ÙÙÙØ§ Ø±Ø¤ÙØªÙ بعد اÙÙÙØ± عÙÙÙ:
ØªÙ Ø§Ø³ØªØ¦ÙØ§Ù Ø§ÙØªÙÙÙØ° Ø ÙÙØµÙ Ø¥ÙÙ ÙÙØ·Ø© تÙÙ٠أخر٠داخÙ
say ()ÙØªÙÙÙ ÙÙØ§Ù. Ø£ÙÙ ÙØ¸Ø±Ø© عÙÙ âCall Stackâ Ø¹Ù٠اÙÙÙ ÙÙ. ÙÙØ¯ زادت Ø¨ÙØ¯Ø§Ø¡ ÙØ§ØØ¯ آخر. ÙØÙ Ø¯Ø§Ø®Ùsay ()Ø§ÙØ¢Ù. - â âØ®Ø·ÙØ©â: تÙÙ٠بتشغÙÙ Ø§ÙØ£Ù ر Ø§ÙØªØ§ÙÙ, Ø²Ø±Ù Ø§ÙØ³Ø±Ùع F9.
-
تشغÙÙ Ø§ÙØ¹Ø¨Ø§Ø±Ø© Ø§ÙØªØ§ÙÙØ©. إذا ÙÙØ±Ùا عÙÙÙ Ø§ÙØ¢Ù ØØ³ÙØ¸ÙØ±
alert.Ø³ÙØ¤Ø¯Ù اÙÙÙØ± عÙÙ٠٠رة أخر٠تÙÙ Ø§ÙØ£Ø®Ø±Ù Ø¥Ù٠استعراض ÙØ§ÙØ© عبارات اÙÙØµ ÙØ§ØØ¯Ùا تÙÙ Ø§ÙØ¢Ø®Ø±.
- â âØ®Ø·ÙØ© ÙÙØ£Ù ا٠â: تÙÙ٠بتشغÙÙ Ø§ÙØ£Ù ر Ø§ÙØªØ§ÙÙ, ÙÙÙ ÙØ§ ØªØ¯Ø®Ù Ø¨Ø¯Ø§Ø®Ù Ø§ÙØ¯Ø§ÙØ©, Ø²Ø±Ù Ø§ÙØ³Ø±Ùع F10.
-
ÙØ´Ø¨Ù Ø§ÙØ£Ù ر âØ®Ø·ÙØ©â Ø§ÙØ³Ø§Ø¨Ù Ø ÙÙÙÙÙ ÙØªØµØ±Ù بشÙ٠٠ختÙ٠إذا ÙØ§Ùت Ø§ÙØ¹Ø¨Ø§Ø±Ø© Ø§ÙØªØ§ÙÙØ© Ù٠استدعاء Ø¯Ø§ÙØ©. اذا Ù٠تÙÙ Ø¯Ø§ÙØ© ٠د٠جة Ø Ù Ø«Ù
alertØ ÙÙÙÙÙØ§ Ø¯Ø§ÙØ© Ù Ù Ø§ÙØ´Ø§Ø¡Ùا.ÙÙØªÙÙ Ø§ÙØ£Ù ر âØ®Ø·ÙØ©â Ø¥ÙÙÙ ÙÙÙÙÙ Ø§ÙØªÙÙÙØ° Ø¹ÙØ¯ Ø§ÙØ³Ø·Ø± Ø§ÙØ£ÙÙ Ù Ø¤ÙØªÙا Ø Ø¨ÙÙ٠ا ÙÙÙÙ âØ®Ø·ÙØ© ÙÙØ£Ù Ø§Ù â Ø¨Ø§Ø³ØªØ¯Ø¹Ø§Ø¡ Ø§ÙØ¯Ø§ÙØ© اÙÙ ØªØ¯Ø§Ø®ÙØ© بشÙÙ ØºÙØ± Ù Ø±Ø¦Ù Ø Ù Ø¹ ØªØ®Ø·Ù Ø§ÙØ¯ÙØ§Ù Ø§ÙØ¯Ø§Ø®ÙÙØ©.
ÙØªÙ Ø¥ÙÙØ§Ù Ø§ÙØªÙÙÙØ° بعد ذÙ٠٠باشرة بعد ÙØ°Ù Ø§ÙØ¯Ø§ÙØ©.
ÙØ°Ø§ أ٠ر Ø¬ÙØ¯ إذا ÙÙ ÙØ±ØºØ¨ ÙÙ Ù Ø¹Ø±ÙØ© ٠ا ÙØØ¯Ø« داخ٠استدعاء Ø§ÙØ¯Ø§ÙØ©.
- â âØ®Ø·ÙØ© ÙÙØ¯Ø§Ø®Ùâ, Ø²Ø±Ù Ø§ÙØ³Ø±Ùع F11.
-
٠شاب٠ÙÙ âØ®Ø·ÙØ©â Ø ÙÙÙÙÙ ÙØªØµØ±Ù بشÙ٠٠ختÙÙ ÙÙ ØØ§ÙØ© ÙØ¯Ø§Ø¡Ø§Øª Ø¯ÙØ§Ù ØºÙØ± Ù ØªØ²Ø§Ù ÙØ©. إذا ÙÙØª تبدأ ÙÙØ· Ù٠تعÙÙ JavaScript Ø ÙÙÙ ÙÙ٠تجاÙÙ Ø§ÙØ§Ø®ØªÙØ§Ù Ø ØÙØ« ÙØ§ تتÙÙØ± ÙØ¯ÙÙØ§ ÙØ¯Ø§Ø¡Ø§Øª ØºÙØ± Ù ØªØ²Ø§Ù ÙØ© ØØªÙ Ø§ÙØ¢Ù.
ÙÙÙ
Ø¹Ø±ÙØ© Ù
Ø³ØªÙØ¨Ùا Ø ÙØ§ØØ¸ ÙÙØ· Ø£Ù Ø§ÙØ£Ù
ر âØ®Ø·ÙØ©â ÙØªØ¬Ø§ÙÙ Ø§ÙØ¥Ø¬Ø±Ø§Ø¡Ø§Øª ØºÙØ± اÙÙ
تزاÙ
ÙØ© Ø Ù
ث٠setTimeout (ÙØ¯Ø§Ø¡ Ø§ÙØ¯Ùا٠اÙÙ
جدÙÙØ©) Ø Ø§ÙØªÙ ÙØªÙ
تÙÙÙØ°Ùا ÙØ§ØÙÙØ§. ØªØ¯Ø®Ù âØ§ÙØ®Ø·ÙØ© ÙÙØ¯Ø§Ø®Ùâ Ù٠اÙÙÙØ¯ Ø§ÙØ®Ø§Øµ بÙÙ
ØÙ ØªÙØªØ¸Ø±ÙÙ
إذا ÙØ²Ù
Ø§ÙØ£Ù
ر.
ÙÙ Ø²ÙØ¯ Ù Ù Ø§ÙØªÙاصÙÙ , Ø§ØªØ·ÙØ¹ عÙÙ DevTools manual.
- â âØ®Ø·ÙØ© ÙÙØ®Ø§Ø±Ø¬â: تابع Ø§ÙØªÙÙÙØ° ØØªÙ ÙÙØ§ÙØ© Ø§ÙØ¯Ø§ÙØ© Ø§ÙØØ§ÙÙØ© Ø Ø²Ø±Ù Ø§ÙØ³Ø±Ùع Shift+F11.
- ÙØ³ØªÙ ر ÙÙ Ø§ÙØªÙÙÙØ° ÙÙÙÙÙÙ ÙÙ Ø§ÙØ³Ø·Ø± Ø§ÙØ£Ø®Ùر Ù Ù Ø§ÙØ¯Ø§ÙØ© Ø§ÙØØ§ÙÙØ©. ÙÙÙÙ ÙØ°Ø§ Ù ÙÙØ¯Ø§ Ø¹ÙØ¯ Ø§ÙØ¯Ø®Ù٠اÙÙ ÙØ¯Ø§Ø¡Ø§Øª Ù ØªØ¯Ø§Ø®ÙØ© ع٠طرÙÙ Ø§ÙØ®Ø·Ø£ ,ÙÙÙÙØ§ ÙØ§ تÙÙ ÙØ§ Ø ÙÙØ±Ùد Ø£Ù ÙØ³ØªÙ ر ØØªÙ ÙÙØ§ÙØªÙØ§ ÙÙ Ø£ÙØ±Ø¨ ÙÙØª Ù Ù ÙÙ.
- â ØªÙعÙÙ / تعطÙÙ Ø¬Ù ÙØ¹ ÙÙØ§Ø· Ø§ÙØªÙÙÙ.
- ÙØ°Ø§ Ø§ÙØ²Ø± ÙØ§ ÙÙÙÙ Ø§ÙØªÙÙÙØ°. ٠جرد اÙÙØ§Ù/ØªÙØ¹ÙÙ ÙÙÙ ÙÙÙ ÙÙØ§Ø· Ø§ÙØªÙÙÙ.
- â ØªÙعÙÙ / تعطÙÙ Ø§ÙØ¥ÙÙØ§Ù اÙÙ Ø¤ÙØª Ø§ÙØªÙÙØ§Ø¦Ù ÙÙ ØØ§ÙØ© ØØ¯ÙØ« خطأ.
- Ø¹ÙØ¯ ØªÙØ¹ÙÙÙ Ø ÙÙØªØ Ø£Ø¯ÙØ§Øª اÙÙ Ø·ÙØ±ÙÙ Ø ÙØ¤Ø¯Ù خطأ اÙÙØµ Ø¥Ù٠إÙÙØ§Ù Ø§ÙØªÙÙÙØ° تÙÙØ§Ø¦ÙÙØ§. ث٠ÙÙ ÙÙÙØ§ تØÙÙ٠اÙÙ ØªØºÙØ±Ø§Øª ÙÙ Ø¹Ø±ÙØ© Ø§ÙØ®Ø·Ø£ Ø§ÙØ°Ù ØØ¯Ø«. ÙØ°Ù٠إذا تÙÙ٠اÙÙØµ بسبب ÙØ¬Ùد خطأ Ø ÙÙÙ ÙÙÙØ§ ÙØªØ اÙÙ ØµØØ ÙØªÙ ÙÙÙ ÙØ°Ø§ Ø§ÙØ®Ùار ÙØ¥Ø¹Ø§Ø¯Ø© تØÙ ÙÙ Ø§ÙØµÙØØ© ÙÙ Ø¹Ø±ÙØ© Ù ÙØ§Ù اÙÙ Ø´ÙÙØ© Ù٠ا ÙÙ Ø§ÙØ³ÙاÙ(context) ÙÙ ÙØ°Ù اÙÙØØ¸Ø©.
اÙÙØ± بزر اÙÙ Ø§ÙØ³ Ø§ÙØ£Ù٠٠عÙ٠سطر اÙÙÙØ¯ ÙØªÙØªØ ÙØ§Ø¦Ù Ø© Ø§ÙØ³Ùا٠٠ع Ø®ÙØ§Ø± رائع ÙØ³Ù Ù â٠تابعة Ø¥ÙÙ ÙÙØ§â.
Ù ÙÙ Ù ÙÙØ¯ Ø¹ÙØ¯Ù ا ÙØ±Ùد ÙØ¨ØªØØ±Ù Ø®Ø·ÙØ§Øª ٠تعددة Ø¥ÙÙ Ø§ÙØ£Ù Ø§Ù ÙØÙ Ø§ÙØ®Ø· Ø ÙÙÙÙØ§ ÙØ³Ø§ÙÙ Ø¬Ø¯ÙØ§ ÙÙ ÙØ¶Ø¹ ÙÙØ·Ø© تÙÙÙ.
Ø§ÙØªØ³Ø¬ÙÙ (Logging)
To output something to console from our code, thereâs console.log .
ÙØ¥Ø®Ø±Ø§Ø¬ Ø´ÙØ¡ Ù
ا Ø¥ÙÙ ÙØØ¯Ø© Ø§ÙØªØÙÙ
Ù
٠اÙÙÙØ¯Ø§Ùخاص Ø¨ÙØ§ Ø ÙÙØ§Ù Ø¯Ø§ÙØ© console.log.
عÙ٠سبÙ٠اÙÙ
Ø«Ø§Ù Ø ÙÙØªØ¬ Ø¹Ù ÙØ°Ø§ اÙÙÙÙ
Ù
Ù 0 Ø¥ÙÙ4 Ø¥ÙÙ ÙØØ¯Ø© Ø§ÙØªØÙÙ
:
// Ø§ÙØªØ ÙØØ¯Ø© Ø§ÙØªØÙÙ
ÙØªØ±Ù
for (let i = 0; i < 5; i++) {
console.log("value,", i);
}
ÙØ§ ÙØ±Ù اÙ٠ستخد٠ÙÙ Ø§ÙØ¹Ø§Ø¯ÙÙÙ ÙØ°Ø§ اÙ٠خرج Ø ÙÙÙ Ù ÙØ¬Ùد ÙÙ ÙØØ¯Ø© Ø§ÙØªØÙÙ . ÙÙ Ø´Ø§ÙØ¯ØªÙ Ø Ø¥Ù Ø§ Ø£Ù ØªÙØªØ ÙÙØØ© ÙØØ¯Ø© Ø§ÙØªØÙÙ ÙÙ Ø£Ø¯ÙØ§Øª اÙÙ Ø·ÙØ±Ù٠أ٠اضغط عÙÙ âØ§ÙÙ ÙØªØ§Ø: Escâ Ø£Ø«Ùاء ÙØ¬Ùد٠ÙÙ ÙÙØØ© أخرÙ: ØªÙØªØ ÙØØ¯Ø© Ø§ÙØªØÙÙ ÙÙ Ø§ÙØ£Ø³ÙÙ.
إذا ÙØ§Ù ÙØ¯ÙÙØ§ ٠ا ÙÙÙÙ Ù Ù Ø§ÙØªØ³Ø¬ÙÙ Ù٠اÙÙÙØ¯ Ø§ÙØ®Ø§Øµ Ø¨ÙØ§ Ø ÙÙÙ ÙÙÙØ§ Ø£Ù ÙØ±Ù ٠ا ÙØØ¯Ø« Ù Ù Ø§ÙØ³Ø¬Ùات Ø Ø¯ÙÙ Ø§Ø³ØªØ®Ø¯Ø§Ù Ù ØµØØ Ø§ÙØ£Ø®Ø·Ø§Ø¡.
اÙÙ ÙØ®Øµ
Ù٠ا ÙØ±Ù Ø ÙÙØ§Ù Ø«ÙØ§Ø« Ø·Ø±Ù Ø±Ø¦ÙØ³ÙØ© ÙØ¥ÙÙØ§Ù اÙÙØµ Ù Ø¤ÙØªÙا:
- ÙÙØ·Ø© تÙÙÙ.
- عبارة Ø£Ù
ر Ù
ØµØØ Ø§ÙØ®Ø·Ø£
debugger. - خطأ (اذا ÙØ§Ùت Ø§Ø¯ÙØ§Øª اÙÙ Ø·ÙØ± Ù ÙØªÙØØ© ٠زر Ù ÙØ¹Ù ا٠ÙÙ٠ت٠âonâ).
Ø¹ÙØ¯ Ø§ÙØ¥ÙÙØ§Ù اÙÙ Ø¤ÙØª Ø ÙÙ ÙÙÙØ§ تصØÙØ Ø§ÙØ£Ø®Ø·Ø§Ø¡ â ÙØØµ اÙÙ ØªØºÙØ±Ø§Øª ÙØªØªØ¨Ø¹ اÙÙÙØ¯ ÙÙ Ø¹Ø±ÙØ© اÙÙ ÙØ§Ù Ø§ÙØ°Ù ÙØ°Ùب ÙÙÙ Ø§ÙØªÙÙÙØ° بشÙ٠خاطئ.
ÙÙØ§Ù Ø§ÙØ¹Ø¯Ùد Ù Ù Ø§ÙØ®Ùارات ÙÙ Ø£Ø¯ÙØ§Øª اÙÙ Ø·ÙØ±ÙÙ Ø£ÙØ«Ø± ٠٠تÙ٠اÙ٠غطاة ÙÙØ§. Ø§ÙØ¯ÙÙ٠اÙÙØ§Ù Ù ÙÙ https://developers.google.com/web/tools/chrome-devtools.
اÙ٠عÙÙ٠ات اÙÙØ§Ø±Ø¯Ø© ÙÙ ÙØ°Ø§ اÙÙØµÙ ÙØ§ÙÙØ© ÙØ¨Ø¯Ø¡ تصØÙØ Ø§ÙØ£Ø®Ø·Ø§Ø¡ Ø ÙÙÙÙ ÙØ§ØÙÙØ§ Ø Ø®Ø§ØµØ© إذا ÙÙØª تÙÙÙ Ø¨Ø§ÙØ¹Ø¯Ùد ٠٠اÙÙ ÙØ§Ù Ø§ÙØ®Ø§ØµØ© باÙÙ ØªØµÙØ Ø ÙØ§Ùرجاء Ø§ÙØ§ÙØªÙØ§Ù Ø¥ÙÙ ÙÙØ§Ù ÙØ§ÙØ¨ØØ« ÙÙ Ø§ÙØ¥Ù ÙØ§Ùات Ø§ÙØ£Ùثر ØªÙØ¯Ù ÙØ§ ÙØ£Ø¯Ùات اÙÙ Ø·ÙØ±ÙÙ.
ÙÙ ÙÙ Ø£ÙØ¶Ùا ÙÙ ÙÙ٠اÙÙÙØ± عÙ٠أ٠اÙ٠٠ختÙÙØ© Ù Ù Ø£Ø¯ÙØ§Øª Ø§ÙØªØ·ÙÙØ± ÙÙ Ø¹Ø±ÙØ© ٠ا ÙØ¸Ùر. رب٠ا ÙØ°Ø§ Ù٠أسرع طرÙÙ ÙØªØ¹ÙÙ Ø£Ø¯ÙØ§Øª اÙÙ Ø·ÙØ±ÙÙ. ÙØ§ ØªÙØ³ اÙÙÙØ± بزر اÙÙ Ø§ÙØ³ Ø§ÙØ£ÙÙ Ù ÙÙÙØ§Ø¦Ù Ø§ÙØ³ÙاÙ!
Ø§ÙØªØ¹ÙÙÙØ§Øª
<code>Ø ÙÙÙÙØ«Ùر Ù Ù Ø§ÙØ³Ø·Ùر استخدÙ<pre>Ø ÙÙØ£Ùثر Ù Ù 10 Ø³Ø·ÙØ± استخد٠(plnkr, JSBin, codepenâ¦)