"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > هل جافا سكريبت متزامنة أم غير متزامنة، وهل هي مفردة أم متعددة الخيوط؟ كيف يتم تنفيذ كود جافا سكريبت؟

هل جافا سكريبت متزامنة أم غير متزامنة، وهل هي مفردة أم متعددة الخيوط؟ كيف يتم تنفيذ كود جافا سكريبت؟

تم النشر بتاريخ 2024-11-06
تصفح:778

جافا سكريبت هي لغة متزامنة أحادية الخيط يمكنها تنفيذ أمر واحد فقط في كل مرة. ولن ينتقل إلى السطر التالي إلا بعد انتهاء السطر الحالي من تنفيذه. ومع ذلك، يمكن لـ JavaScript إجراء عمليات غير متزامنة باستخدام حلقة الأحداث، والوعود، وعدم المزامنة/الانتظار، وقائمة انتظار رد الاتصال (جافا سكريبت متزامن بشكل افتراضي).

كيف يتم تنفيذ كود جافا سكريبت؟

كل شيء في JavaScript يحدث داخل سياق التنفيذ (فكر في الأمر كمربع أو حاوية كبيرة). يتم تنفيذ كود JavaScript بالكامل ضمن سياق التنفيذ هذا. وله مكونان: مكون الذاكرة (البيئة المتغيرة) ومكون الكود (خيط التنفيذ).

  • مكون الذاكرة: هذا هو المكان الذي يتم فيه تخزين كافة المتغيرات والوظائف كأزواج ذات قيمة رئيسية.
  • مكون الكود: هذا هو المكان الذي يتم فيه تنفيذ الكود (سطر واحد في كل مرة)."

أولاً، يتم إنشاء سياق التنفيذ العالمي. ضمن هذا، تقوم كل وظيفة بإنشاء سياق التنفيذ الخاص بها.

قبل تنفيذ أي سطر من التعليمات البرمجية، يتم تخصيص الذاكرة لجميع المتغيرات والوظائف.

كيف يتم تنفيذ الكود بعد تخصيص الذاكرة؟
يعمل محرك JavaScript عبر البرنامج بأكمله مرة أخرى (سطرًا بسطر) وينفذ التعليمات البرمجية.

دعونا نلقي نظرة على المثال التالي:

function add(a,b){
   var ans = a b;
   console.log(ans);
}
var addition = add(6,5);

في هذا المثال، يتم إنشاء سياق التنفيذ العام أولاً، والذي يتكون من مكونين: مكون الذاكرة (MC) ومكون الكود (CC).

Is JavaScript synchronous or asynchronous, and is it single-threaded or multi-threaded? How is JavaScript code executed?

بالنسبة للوظائف، يتم تخزين رمز الوظيفة بالكامل في الذاكرة. بالنسبة للمتغيرات، يتم تخزين قيمة خاصة، غير محددة، في البداية.

Is JavaScript synchronous or asynchronous, and is it single-threaded or multi-threaded? How is JavaScript code executed?

عند استدعاء الوظيفة، يتم إنشاء سياق تنفيذ آخر. في مكون الذاكرة، يتم تخزين قيم المعلمات (a = 6، b = 5)، بينما تحتفظ المتغيرات مثل ans في البداية بالقيمة غير المحددة. في مكون الكود، يتم استخدام القيم من مكون الذاكرة لإجراء العملية (a b = 6 5 = 11). ثم تتم طباعة النتيجة على وحدة التحكم.

أتمنى أن يكون هذا الشرح قد أوضح المفهوم. إذا كان لديك أي أسئلة أو تصحيحات، فلا تتردد في طرحها في قسم التعليقات.

الاعتمادات لأكشاي سايني (راجع: [(https://youtu.be/iLWTnMzWtj4?si=WWMxDHM-v532vY7F)])

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/ramya_srim/is-javascript-synchronous-or-asynchronous-and-is-it-single-threaded-or-multi-threaded-how-is-javascript-code- تم التنفيذ- 24b2?1 في حالة وجود أي مخالفة يرجى التواصل مع [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3