تقدر تتواصل معايا هنا.
Facebook: / mostafashadow1
Linkedin: / mostafashadow1
اكيد انت عارف ان JavaScript عباره عن
(Single thread )
يعني ايه بقا single thread ،
ببساطه جدا ،
يعني متعرفش اعمل حاجتين بنفس الوقت .
بشكل اعمق ، اي حاجه بتتنفز جوا call stack متزامنه .
تعالا نشرح بشكل اعمق .
عندنا دلوقتي مجموعه من الاوامر .
console.log(“log 1”);
console.log(“log 2 ”)
هل ينفع الوج رقم ٢ يتنفز في اثناء تنفيز الوج رقم ١ ؟
اكيد طبعا لا الترتيب الصحيح هيبقا كدا
Outbut
log 1
log 2
ودا يبان بديهي بس لازم ااكدلك عليه .
طيب دلوقتي لو انا جيت علي موقع جوجل مثلا
وفتحت console وكتبت alert
ايه الي هيحصل ؟ ببساطه جدا .
الموقع كله هيتعمله freeze ومش هتقدر تضغط علي اي حاجه فيه ؟
ايوه حلو ليه بقا ؟
عشان ببساطه alert عشان تتنفذ هتروح جوا call stack
طب ايه المشكله ؟
المشكله بقا اني زي ما قولتلك الكود ماشي متزامن
بمعني اخر ان الموقع مش هيشتغل الا لما alert تطلع من call stack ، وطبعا مش هتطلع الا لما يحصل action .
دي مشكله كبيره جدا .
تخيل معايا اني عاندي data ، data دي هتعد ١٠ دقايق علي ما تيجي من مكان وتتظبط .
حلو ؟
طيب لو احنا ماشين بنفس السياق دا يدل ان اي حاجه بعد data دي هتستنا ١٠ دقايق لحد لما data تتظبط وتطلع من call stack وبعد كدا الحجات الي بعدها تنتفذ هذا يعقل ؟
لا طبعا عشان كدا بتستخدم ايه بقا ايوه قولها بصوت عالي 😂
JavaScript Runtime
حلو جدا بتعمل ايه دي بقا ببساطه اي browser فيه حاجه اسمها web apis
لو كتبت جوا console window وضغط entere
هتعرف كل حاجه موجوده جوا web api.
لحد هنا الدنيا تمام .
نرجع بقا للمثال بتاعنا في وجود web api
انا دلوقتي عاندي data بتاخد ١٠ دقايق لحد لما تحمل .
في الحاله دي اول لما call stack يشوف
اي حاجه ليها دعوه بي web api هيقوله مليش فيه مليش فيه ويقوم رميها عليه ويقوله اتصرف فيها .
Web api
يمسك الحاجه بتاعته يظبطها وبعد كدا يروح يوديها علي ايه بقا ؟
مكان الاستراحه الجميل بتاعنا الي بيسمي
(Callback queue )
المكان دا عامل زي الطابور شغلته في الحياه انه يعمل حاجتين .
مكان استراحه الحاجه الي جايه من web api وانه يبعت الحاجه في النهايه call stack عشان تتنفز
بس خلي بالك
Callback queue
دا ذنان بس عديم الشخصيه .
Call stack
قاله متبعتليش اي حاجه الا لما اكون فاضي .
فيرد عليه يقوله حاضر ويسأله كمان شويه انت فاضي ؟
لحد لما فعلا call stack يفضا ويبدا يبعتله الحجات الي مستنيه جواه بالترتيب .
وبس كدا ياصديقي .
سؤال ممكن يجي في دماغك ازاي اصلا عرفنا انها single thread ببساطه جدا عشان JS Engine جواه
Call stack واحد بس .
javascript شرح
javascript tutorial
javascript
javascript project
javascript behind the scenes
javascript dom
javascript oop
شرح javascript
javascript examples
javascript course
learn javascript in arabic
كورس javascript
learn javascript
javascript bom
javascript كورس
تعلم javascript
advanced javascript
javascript in arabic
javascript advanced
دورة javascript
javascript full course
javascript ماهي
#frontenddeveloper #programming #javascript #برمجة #js