أعلى 100 Javaأسئلة وأجوبة حول المقابلات النصية (2026)
Javaأسئلة المقابلة النصية للطلاب الجدد
1. ما هو Javaالبرنامج النصي؟
Javaتعتبر Script لغة برمجة قوية جدًا من جانب العميل. Javaيتم استخدام البرنامج النصي بشكل أساسي لتحسين تفاعل المستخدم مع صفحة الويب. بعبارة أخرى، يمكنك جعل صفحة الويب الخاصة بك أكثر حيوية وتفاعلية، بمساعدة Javaالنصي. Javaيتم استخدام النصوص أيضًا على نطاق واسع في تطوير الألعاب وتطوير تطبيقات الهاتف المحمول.
👉 تنزيل مجاني بصيغة PDF: Javaأسئلة وأجوبة حول المقابلة النصية >>
2. تعداد الاختلافات بين Java و Javaالبرنامج النصي؟
Java هي لغة برمجة كاملة. في المقابل، JavaScript هو برنامج مشفر يمكن تقديمه إلى صفحات HTML. هاتان اللغتان غير مترابطتين على الإطلاق ومصممتان لغرضين مختلفين. Java هي برمجة كائنية التوجه (OOPS) أو لغات برمجة منظمة مثل C++ أو C، في حين Javaسيناريو هي لغة البرمجة النصية من جانب العميل.
3. ماذا يكون Javaأنواع بيانات البرنامج النصي؟
فيما يلي Javaأنواع بيانات البرنامج النصي:
- رقم الهاتف
- خيط
- منطقية
- هدف
- غير محدد
4. ما هو استخدام وظيفة isNaN؟
تعيد الدالة isNan القيمة true إذا لم تكن الوسيطة رقمًا؛ وإلا، فإنها ترجع القيمة false.
5. أيهما أسرع بين Javaسكربت و سكربت ASP؟
Javaالنص أسرع. Javaإن لغة البرمجة النصية هي لغة من جانب العميل، وبالتالي فهي لا تحتاج إلى مساعدة خادم الويب لتنفيذها. من ناحية أخرى، تعد لغة ASP لغة من جانب الخادم وبالتالي فهي دائمًا أبطأ من لغة ASP. Javaالنصي. Javascript الآن هي أيضًا لغة من جانب الخادم (nodejs).
6. ما هي اللانهاية السلبية؟
اللانهاية السلبية هي رقم في Javaنص يمكن اشتقاقه عن طريق قسمة الرقم السالب على الصفر.
7. هل من الممكن أن ينكسر Javaسيناريو Code إلى عدة أسطر؟
يمكن إجراء الانفصال داخل عبارة السلسلة باستخدام شرطة مائلة عكسية، '\' في نهاية السطر الأول.
على سبيل المثال:
document. Write ("This is \a program,");
وإذا قمت بالتغيير إلى سطر جديد عندما لا تكون ضمن عبارة سلسلة، فإن JavaScript يتجاهل الفاصل في السطر.
على سبيل المثال:
var x=1, y=2, z= x+y;
الكود أعلاه جيد تمامًا، على الرغم من أنه لا ينصح به لأنه يعيق تصحيح الأخطاء.
8. الشركة التي طورتها Javaالبرنامج النصي؟
Netscape هي شركة البرمجيات التي طورت Javaالنصي.
9. ما هي المتغيرات غير المعلنة وغير المحددة؟
المتغيرات غير المعلنة هي تلك التي لا توجد في البرنامج ولم يتم الإعلان عنها. إذا حاول البرنامج قراءة قيمة متغير غير معلن، فسيتم مواجهة خطأ في وقت التشغيل.
المتغيرات غير المحددة هي تلك التي تم الإعلان عنها في البرنامج ولكن لم يتم إعطاؤها أي قيمة. إذا حاول البرنامج قراءة قيمة متغير غير محدد، فسيتم إرجاع قيمة غير محددة.
10. اكتب الكود الخاص بإضافة عناصر جديدة بشكل ديناميكي؟
<html>
<head>
<title>t1</title>
<script type="text/javascript">
function addNode () { var newP = document. createElement("p");
var textNode = document.createTextNode(" This is a new text node");
newP.appendChild(textNode); document.getElementById("firstP").appendChild(newP); }
</script> </head>
<body> <p id="firstP">firstP<p> </body>
</html>
11. ما هي المتغيرات العالمية؟ كيف يتم الإعلان عن هذه المتغيرات؟
تتوفر المتغيرات العامة طوال مدة الكود بحيث لا يكون لها نطاق. يتم استخدام الكلمة الأساسية var للإعلان عن متغير أو كائن محلي. إذا تم حذف الكلمة الأساسية var، فسيتم الإعلان عن متغير عام.
على سبيل المثال:
// قم بتعريف عالمي: globalVariable = "Test";
المشاكل التي يواجهها استخدام المتغيرات العالمية هي صراع أسماء المتغيرات ذات النطاق المحلي والعالمي. كما أنه من الصعب تصحيح واختبار التعليمات البرمجية التي تعتمد على المتغيرات العامة.
12. ما هو صندوق المطالبة؟
مربع المطالبة هو مربع يسمح للمستخدم بإدخال البيانات من خلال توفير مربع نص. سيتم توفير علامة ومربع لإدخال النص أو الرقم.
13. ما هي الكلمة الرئيسية "هذه"؟ Javaالبرنامج النصي؟
تشير الكلمة الأساسية "هذا" إلى الكائن الذي تم استدعاؤه منه.
14. ما هو عمل الموقتات Javaالبرنامج النصي؟
يتم استخدام المؤقتات لتنفيذ جزء من التعليمات البرمجية في وقت محدد أو تكرار التعليمات البرمجية في فترة زمنية معينة. ويتم ذلك باستخدام الوظائف سيتيميوت, و واضح.
استخدم setTimeout (وظيفة، تأخير) يتم استخدام الوظيفة لبدء مؤقت يستدعي وظيفة معينة بعد التأخير المذكور. ال setInterval (وظيفة، تأخير) تقوم الدالة بتنفيذ الوظيفة المحددة بشكل متكرر في التأخير المذكور وتتوقف فقط عند إلغائها. ال كلير إنترفال (المعرف) تقوم الوظيفة بإرشاد المؤقت للتوقف.
يتم تشغيل المؤقتات داخل خيط واحد، وبالتالي قد تتجمع الأحداث في قائمة انتظار في انتظار تنفيذها.
15. ما هو الرمز المستخدم للتعليقات Javascript?
// للتعليقات ذات السطر الواحد و
/* متعدد
لاين
كيف
*/
16. ما الفرق بين ViewState وSessionState؟
- "ViewState" خاص بصفحة في الجلسة.
- "SessionState" خاص بالبيانات الخاصة بالمستخدم والتي يمكن الوصول إليها عبر جميع صفحات تطبيقات الويب.
17. ما هو عامل ===؟
=== يسمى عامل المساواة الصارمة، والذي يعود صحيحًا عندما يكون للمتعاملين نفس القيمة دون تحويل.
18. كيف يمكنك تقديم نموذج باستخدام Javaالبرنامج النصي؟
لتقديم النموذج باستخدام Javaاستخدام النص
document.form[0].submit(); document.form[0].submit();
19. هل Javaهل يدعم البرنامج النصي التحويل التلقائي للنوع؟
نعم، Javaيدعم البرنامج النصي التحويل التلقائي للأنواع. إنها الطريقة الشائعة لتحويل الأنواع المستخدمة بواسطة Javaمطورو النصوص
20. كيف يمكن تغيير نمط/فئة العنصر؟
يمكن أن يتم ذلك بالطريقة التالية:
document.getElementById("myText"). style. fontSize = "20";
or
document. getElementById ("myText"). className = "anyclass";
21. كيفية قراءة وكتابة ملف باستخدام Javaالبرنامج النصي؟
هناك طريقتان لقراءة وكتابة ملف باستخدام Javaسيناريو
- باستخدام Javaملحقات البرنامج النصي
- استخدام صفحة ويب وكائنات Active X
22. ما هي جميع أنواع المراحيض؟ping الهياكل في Javaالبرنامج النصي؟
فيما يلي بعض المعلوماتping الهياكل في Javascript:
- في عمل
- بينما
- حلقات "افعل بينما".
23. ما يُسمى بالمتغير typing in Javascript?
نوع المتغيرping تُستخدم هذه الطريقة لتعيين رقم لمتغير. ويمكن تعيين نفس المتغير لسلسلة نصية.
على سبيل المثال:
i = 10; i = "string;"
يُطلق على هذا اسم النوع المتغيرping.
24. كيف يمكنك تحويل السلسلة النصية لأي قاعدة إلى عدد صحيح Javaالبرنامج النصي؟
تُستخدم دالة parseInt() لتحويل الأرقام بين قواعد مختلفة. تأخذ دالة parseInt() السلسلة المراد تحويلها كمعامل أول. والمعامل الثاني هو قاعدة السلسلة المعطاة.
لتحويل 4F (أو الأساس 16) إلى عدد صحيح، سيكون الرمز المستخدم هو –
parseInt ("4F", 16);
25. الفرق بين "==" و "==="؟
"==" يتحقق فقط من المساواة في القيمة، في حين أن "===" هو اختبار مساواة أكثر صرامة ويعيد خطأ إذا كانت القيمة أو نوع المتغيرين مختلفين.
Javaأسئلة المقابلة النصية للمتمرسين
26. ما هي نتيجة 3+2+”7″؟
وبما أن 3 و 2 أعداد صحيحة، فسيتم إضافتها عدديا. وبما أن الرقم 7 عبارة عن سلسلة، فسيتم تسلسلها. وبالتالي ستكون النتيجة 57.
27. كيفية الكشف عن نظام التشغيل على جهاز العميل؟
من أجل اكتشاف نظام التشغيل على جهاز العميل، يجب استخدام سلسلة (خاصية) المستعرض.
28. ماذا تقصد بـ NULL في Javascript?
يتم استخدام القيمة NULL لتمثيل عدم وجود قيمة أو عدم وجود كائن. إنه لا يتضمن أي كائن أو سلسلة فارغة، ولا توجد قيمة منطقية صالحة، ولا يوجد رقم، ولا يوجد كائن صفيف.
29. ما هي وظيفة عامل الحذف؟
يتم استخدام الكلمة الرئيسية Delete لحذف الخاصية وكذلك قيمتها.
مثال
var student= {age:20, batch:"ABC"};
Delete student. age;
30. ما هي القيمة غير المحددة في Javaالبرنامج النصي؟
القيمة غير المحددة تعني
- المتغير المستخدم في الكود غير موجود
- لم يتم تعيين المتغير إلى أي قيمة
- الملكية غير موجودة.
31. ما هي جميع أنواع الصناديق المنبثقة المتوفرة في Javaالبرنامج النصي؟
- ملاحظه
- تأكيد و
- موجه
32. ما فائدة الفراغ (0)؟
يتم استخدام Void(0) لمنع تحديث الصفحة، ويتم تمرير المعلمة "صفر" أثناء الاتصال.
يتم استخدام Void(0) لاستدعاء طريقة أخرى دون تحديث الصفحة.
33. كيف يمكن إجبار الصفحة على تحميل صفحة أخرى فيها Javaالبرنامج النصي؟
يجب إدراج الكود التالي لتحقيق التأثير المطلوب:
<script language="JavaScript" type="text/javascript" > <!-- location. href="https://www.guru99.com/javascript-interview-questions-answers.html"; //--></script>
34. ما هو نوع البيانات في المتغيرات Javaالبرنامج النصي؟
جميع المتغيرات في Javaالنصوص هي أنواع بيانات الكائنات.
35. ما هو الفرق بين مربع التنبيه ومربع التأكيد؟
يعرض مربع التنبيه زرًا واحدًا فقط، وهو زر "موافق".
ولكن مربع التأكيد يعرض زرين، هما موافق وإلغاء.
36. ما هي شخصيات الهروب؟
تُستخدم أحرف الإفلات (الشرطة المائلة العكسية) عند العمل مع الأحرف الخاصة مثل علامات الاقتباس المفردة، وعلامات الاقتباس المزدوجة، وعلامات الاقتباس العليا، وعلامات العطف. ضع الشرطة المائلة العكسية قبل الأحرف لجعلها ظاهرة.
على سبيل المثال:
document. write "I m a "good" boy." document. write "I m a \"good\" boy."
37. ماذا يكون Javaملفات تعريف الارتباط النصية؟
ملفات تعريف الارتباط (Cookies) هي ملفات اختبار صغيرة تُخزّن في جهاز الكمبيوتر، وتُنشأ عندما يزور المستخدم مواقع الويب لتخزين المعلومات التي يحتاجها. ومن الأمثلة على ذلك تفاصيل اسم المستخدم ومعلومات المتجر.ping معلومات سلة التسوق من الزيارات السابقة.
38. ما هي طريقة البوب () في Javaما هو النص؟
طريقة pop() مشابهة لطريقة shift()، لكن الفرق هو أن Shift تعمل الطريقة في بداية المصفوفة. يأخذ الأسلوب pop() العنصر الأخير من المصفوفة المحددة ويعيده. ثم يتم تغيير المصفوفة التي يتم استدعاؤها عليها.
على سبيل المثال:
var cloths = ["Shirt", "Pant", "TShirt"]; cloths.pop(); //Now cloth becomes Shirt,Pant
39. هل Javaهل النص لديه نطاق على مستوى المفهوم؟
رقم Javaلا يحتوي البرنامج النصي على نطاق على مستوى المفهوم. المتغير المعلن داخل الدالة له نطاق داخل الدالة.
40. ما هي عيوب استخدام InnerHTML في Javaالبرنامج النصي؟
إذا كنت تستخدم InternalHTML في Javaالنص، العيب هو
- يتم استبدال المحتوى في كل مكان
- لا يمكننا استخدامه مثل "الإلحاق بـInnerHTML
- حتى إذا كنت تستخدم +=مثل "innerHTML = InternalHTML + 'html'" فلا يزال يتم استبدال المحتوى القديم بـ html
- تتم إعادة تحليل محتوى HTML الداخلي بالكامل ويتم دمجه في عناصر. ولذلك، فهو أبطأ بكثير
- لا يوفر InnerHTML التحقق من الصحة، وبالتالي يمكننا إدراج HTML صالح أو معطوب في المستند وكسره
41. ما هي عبارات الاستراحة والاستمرار؟
خروج عبارة Break من الحلقة الحالية.
يستمر بيان المتابعة مع البيان التالي للحلقة.
42. ما هما المجموعتان الأساسيتان لأنواع البيانات؟ Javaالبرنامج النصي؟
- إنهم بدائيون
- أنواع المراجع
الأنواع البدائية هي أنواع البيانات الرقمية والمنطقية. أما أنواع المرجع فهي أنواع أكثر تعقيدًا مثل السلاسل والتاريخ.
43. كيف يمكن إنشاء كائنات عامة؟
يمكن إنشاء الكائنات العامة على النحو التالي:
var I = new object();
44. ما هي فائدة نوع المشغل؟
'Typeof' هو عامل يستخدم لإرجاع وصف سلسلة لنوع المتغير.
45. ما هي الكلمات الرئيسية المستخدمة للتعامل مع الاستثناءات؟
حاول... التقط—أخيرًا يُستخدم للتعامل مع الاستثناءات في ملف Javaسيناريو
Try{
Code
}
Catch(exp){
Code to throw an exception.
}
Finally{
Code runs either it finishes successfully or after catch
}
46. ما هي الكلمة الأساسية المستخدمة لطباعة النص على الشاشة؟
وثيقة. يتم استخدام الكتابة ("مرحبًا") لطباعة النص - مرحبًا بك على الشاشة.
47. ما فائدة وظيفة التمويه؟
يتم استخدام وظيفة Blur لإزالة التركيز من الكائن المحدد.
48. ما هو المتغير typing?
نوع المتغيرping يُسند رقمًا إلى متغير، ثم يُسند سلسلة نصية إلى نفس المتغير. مثال على ذلك:
i= 8; i="john";
49. كيفية العثور على نظام التشغيل في جهاز العميل باستخدام Javaالبرنامج النصي؟
استخدم 'يتم استخدام إصدار التطبيق للعثور على اسم نظام التشغيل في جهاز العميل.
50. ما هي أنواع الأخطاء المختلفة في Javaالبرنامج النصي؟
هناك ثلاثة أنواع من الأخطاء:
- أخطاء وقت التحميل: الأخطاء التي تظهر عند تحميل صفحة ويب، مثل أخطاء بناء الجملة غير الصحيحة، تُعرف باسم أخطاء وقت التحميل ويتم إنشاء الأخطاء ديناميكيًا.
- أخطاء وقت التشغيل: الأخطاء التي تأتي نتيجة سوء استخدام الأمر داخل لغة HTML.
- أخطاء منطقية:هذه هي الأخطاء التي تحدث بسبب المنطق السيئ الذي تم إجراؤه على وظيفة باستخدام عملية مختلفة.
Javaأسئلة المقابلة النصية لخبرة 5 سنوات
51. ما فائدة طريقة الدفع في Javaالبرنامج النصي؟
تُستخدم طريقة الدفع لإضافة أو إلحاق عنصر أو أكثر بنهاية المصفوفة. باستخدام هذه الطريقة، يمكننا إلحاق عناصر متعددة عن طريق تمرير وسائط متعددة.
52. ما هي طريقة عدم التحول في Javaالبرنامج النصي؟
طريقة Unshift تشبه طريقة الدفع، والتي تعمل في بداية مجموعة. تُستخدم هذه الطريقة لإضافة عنصر أو أكثر إلى بداية المصفوفة.
53. ماهو الفرق بين Javaسكريبت و Jscript؟
كلاهما متشابهان تقريبا. تطوير Netscape وJscript Javaتم تطوير البرنامج النصي بواسطة Microsoft.
54. كيف يتم تعيين خصائص الكائن؟
يتم تعيين الخصائص للأشياء بالطريقة التالية -
obj ["class"] = 12; or obj.class = 12;
55. ما هو "الوضع الصارم" في Javaالبرنامج النصي، وكيف يمكن تمكينه؟
يضيف الوضع الصارم بعض الإكراهات Javaالنص. في ظل الوضع الصارم، Javaيعرض البرنامج النصي أخطاءً لجزء من التعليمات البرمجية، والذي لم يُظهِر خطأً من قبل، ولكن قد يكون مشكلة وقد يكون غير آمن. يحل الوضع الصارم أيضًا بعض الأخطاء التي تعيق Javaمحركات النصوص تعمل بكفاءة.
يمكن تمكين الوضع الصارم عن طريق إضافة السلسلة الحرفية "استخدام صارم" أعلى الملف. ويمكن توضيح ذلك من خلال المثال الموضح:
function myfunction() {
"use strict;"
var v = "This is a strict mode function";
}
56. ما هي الطريقة للحصول على حالة الشيكBox?
يمكن الحصول على الحالة على النحو التالي -
alert(document.getElementById('checkbox1').checked);
إذا كان الشيكBox تم تحديده، سيرجع هذا التنبيه TRUE.
57. كيف يمكن اكتشاف نظام التشغيل الخاص بجهاز العميل؟
يمكن استخدام سلسلة navigator.appVersion للكشف عن نظام التشغيل على جهاز العميل.
58. ما هو window.onload وonDocumentReady؟
لا يتم تشغيل وظيفة التحميل حتى يتم تحميل جميع المعلومات الموجودة على الصفحة. يؤدي هذا إلى تأخير كبير قبل تنفيذ أي تعليمات برمجية.
يقوم onDocumentReady بتحميل الكود مباشرة بعد تحميل DOM. وهذا يسمح بالتلاعب المبكر بالكود.
59. كيف تعمل عمليات الإغلاق Javaالبرنامج النصي؟
الإغلاق هو متغير مُعلن محليًا يتعلق بوظيفة تبقى في الذاكرة عند عودتها.
فمثلا:
function greet(message) {
console.log(message);
}
function greeter(name, age) {
return name + " says howdy!! He is " + age + " years old";
}
// Generate the message
var message = greeter("James", 23);
// Pass it explicitly to greet
greet(message);
This function can be better represented by using closures
function greeter(name, age) {
var message = name + " says howdy!! He is " + age + " years old";
return function greet() {
console.log(message);
};
}
// Generate the closure
var JamesGreeter = greeter("James", 23);
// Use the closure
JamesGreeter();
60. كيف يمكن إلحاق قيمة بمصفوفة؟
يمكن إلحاق قيمة بمصفوفة بالطريقة المحددة -
arr[arr.length] = value;
61. ما هو في حلقة في Javascript?
يتم استخدام حلقة for-in للتنقل عبر خصائص الكائن.
بناء جملة الحلقة for-in هو -
for (variable name in object){
statement or block to execute
}
في كل تكرار، يتم ربط خاصية واحدة من الكائن باسم المتغير. تستمر الحلقة حتى يتم استنفاد كافة خصائص الكائن.
62. ما هي الخصائص الهامة للوظيفة المجهولة في Javaالبرنامج النصي؟
تُعرف الوظيفة التي يتم الإعلان عنها بدون أي معرف مسمى بالوظيفة المجهولة. بشكل عام، لا يمكن الوصول إلى الوظيفة المجهولة بعد إعلانها.
إعلان وظيفة مجهولة -
var anon = function() {
alert('I am anonymous');
};
anon();
63. ما الفرق بين .call() و .apply()؟
الدالتان .call() و .apply() متشابهتان جدًا في استخدامهما باستثناء اختلاف بسيط. يتم استخدام .call() عندما يكون عدد وسيطات الوظيفة معروفًا للمبرمج، حيث يجب ذكرها كوسيطات في بيان الاستدعاء. من ناحية أخرى، يتم استخدام .apply() عندما يكون الرقم غير معروف. تتوقع الدالة .apply() أن يكون الوسيط عبارة عن مصفوفة.
يكمن الاختلاف الأساسي بين .call() و .apply() في طريقة تمرير الوسائط إلى الوظيفة. ويمكن توضيح استخدامها من خلال المثال المعطى.
var someObject = {
myProperty : 'Foo',
myMethod : function(prefix, postfix) {
alert(prefix + this.myProperty + postfix);
}
};
someObject.myMethod('<', '>'); // alerts '<Foo>'
var someOtherObject = {
myProperty : 'Bar.'
};
someObject.myMethod.call(someOtherObject, '<', '>'); // alerts '<Bar>'
someObject.myMethod.apply(someOtherObject, ['<', '>']); // alerts '<Bar>'
64. ما هو حدث محتدما؟
Javaيسمح البرنامج النصي بتداخل عناصر DOM داخل بعضها البعض. في هذه الحالة، إذا تم النقر فوق معالج العنصر الفرعي، فسيعمل معالج العنصر الأساسي أيضًا كما لو تم النقر فوقه أيضًا.
65. هو Javaهل النص حساس لحالة الأحرف؟ أعط مثالاً.
نعم، Javaالنص حساس لحالة الأحرف. على سبيل المثال، الدالة parseInt ليست هي نفسها الدالة Parseint.
66. ما هي العوامل المنطقية التي يمكن استخدامها في Javaالبرنامج النصي؟
"و" Operaتور (&&)، "أو" Operaتور (||)، و"لا" Operaيمكن استخدام tor (!) في Javaالنصي.
*Operators بدون قوسين.
67. كيف يمكن استهداف إطار معين، من ارتباط تشعبي، في Javaالبرنامج النصي؟
يمكن القيام بذلك عن طريق تضمين اسم الإطار المطلوب في الارتباط التشعبي باستخدام السمة "الهدف".
<a href="/ar/newpage.htm" target="newframe">>New Page</a>
68. ما هو دور عبارات الاستراحة والمتابعة؟
يتم استخدام عبارة Break للخروج من الحلقة الحالية. في المقابل، تستمر عبارة continue في الحلقة الحالية بتكرار جديد.
69. اكتب نقطة الاختلاف بين حديقة الويب ومزرعة الويب؟
يعد كل من حديقة الويب ومزرعة الويب بمثابة أنظمة استضافة ويب. والفرق الوحيد هو أن web-garden عبارة عن إعداد يتضمن العديد من المعالجات في خادم واحد. وفي الوقت نفسه، يعد web-farm عبارة عن إعداد أكبر يستخدم أكثر من خادم واحد.
70. كيف يتم تعيين خصائص الكائن؟
يتم تعيين خصائص للكائنات بنفس الطريقة التي يتم بها تعيين قيمة لمتغير. على سبيل المثال، يتم تعيين قيمة إجراء كائن النموذج على أنها "إرسال" بالطريقة التالية - Document. form.action=”submit”
71. ما هي طريقة قراءة وكتابة ملف فيه Javaالبرنامج النصي؟
يمكن القيام بذلك عن طريق استخدام Javaامتدادات البرنامج النصي (تعمل من Javaمحرر النصوص، على سبيل المثال، لفتح ملف -
fh = fopen(getScriptPath(), 0);
72. كيف يتم استخدام DOM في Javaالبرنامج النصي؟
يرمز DOM إلى نموذج كائن المستند، وهو المسؤول عن كيفية تفاعل الكائنات المختلفة في المستند مع بعضها البعض. يُعد DOM ضروريًا لتطوير...ping تتضمن صفحات الويب عناصر مثل الفقرات والروابط، ويمكن التعامل مع هذه العناصر لإضافة أو حذف عناصر أخرى. كما يُعدّ نموذج كائن المستند (DOM) ضروريًا لإضافة إمكانيات إضافية إلى صفحة الويب. علاوة على ذلك، يمنح استخدام واجهة برمجة التطبيقات (API) ميزةً على النماذج الأخرى الموجودة.
73. كيف يتم استخدام معالجات الأحداث في Javaالبرنامج النصي؟
الأحداث هي الإجراءات التي تنتج عن الأنشطة، مثل النقر فوق رابط أو ملء نموذج بواسطة المستخدم. مطلوب معالج الأحداث لإدارة التنفيذ الصحيح لجميع هذه الأحداث. معالجات الأحداث هي سمة إضافية للكائن. تتضمن هذه السمة اسم الحدث والإجراء المتخذ في حالة وقوع الحدث.
74. ما هو دور النصوص المؤجلة في Javaالبرنامج النصي؟
يتم إيقاف تحليل كود HTML أثناء تحميل الصفحة بشكل افتراضي حتى يتوقف تنفيذ البرنامج النصي. إذا كان الخادم بطيئًا أو كان البرنامج النصي ثقيلًا بشكل خاص، فسيتم تأخير صفحة الويب.
عند استخدام Deferred، يؤخر البرنامج النصي تنفيذ البرنامج النصي حتى وقت تشغيل محلل HTML. وهذا يقلل من وقت تحميل صفحات الويب، ويتم عرضها بشكل أسرع.
75. ما هي المكونات الوظيفية المختلفة في Javaالبرنامج النصي؟
المكونات الوظيفية المختلفة في Javaالنص هو-
- وظائف من الدرجة الأولى: وظائف في Javaيتم استخدام النصوص البرمجية ككائنات من الدرجة الأولى. وهذا يعني عادةً أنه يمكن تمرير هذه الوظائف كحجج إلى وظائف أخرى، أو إرجاعها كقيم من وظائف أخرى، أو تعيينها للمتغيرات، أو يمكن أيضًا تخزينها في هياكل البيانات.
- وظائف متداخلة: تسمى الوظائف، التي يتم تعريفها داخل وظائف أخرى، بالوظائف المتداخلة. يتم استدعاؤها "في كل مرة يتم فيها استدعاء الوظيفة الرئيسية".
76. اكتب عن الأخطاء الموضحة في Javaالبرنامج النصي؟
Javaيعطي البرنامج النصي رسالة كما لو أنه يواجه خطأً. الأخطاء التي تم التعرف عليها هي -
- أخطاء وقت التحميل: يتم احتساب الأخطاء التي تظهر في وقت تحميل الصفحة ضمن أخطاء وقت التحميل. يواجه استخدام بناء الجملة غير الصحيح هذه الأخطاء وبالتالي يتم اكتشافه أثناء تحميل الصفحة.
- أخطاء وقت التشغيل: هذا هو الخطأ الذي يظهر أثناء تشغيل البرنامج. على سبيل المثال، تتسبب العمليات غير القانونية في قسمة رقم على صفر أو الوصول إلى منطقة غير موجودة من الذاكرة.
- الأخطاء المنطقية: ويحدث ذلك بسبب تعليمات برمجية صحيحة نحويًا، والتي لا تفي بالمهمة المطلوبة، على سبيل المثال، حلقة لا نهائية.
77. ما هي كائنات الشاشة؟
تُستخدم كائنات الشاشة لقراءة المعلومات من شاشة العميل. خصائص كائنات الشاشة هي -
- AvailHeight: يعطي ارتفاع شاشة العميل
- AvailWidth: يعطي عرض شاشة العميل
- ColorDepth: يعطي عمق الصور على شاشة العميل
- الارتفاع: يعطي الارتفاع الإجمالي لشاشة العميل، بما في ذلك شريط المهام
- العرض: يعطي العرض الإجمالي لشاشة العميل، بما في ذلك شريط المهام
78. ما هي طريقة unshift()؟
تعمل هذه الطريقة عند بداية المصفوفة، على عكس الدالة Push(). يضيف العدد المطلوب من العناصر إلى أعلى المصفوفة. على سبيل المثال -
var name = [ "john" ]; name.unshift( "charlie" ); name.unshift( "joseph", "Jane" ); console.log(name);
يظهر الإخراج أدناه:
[" joseph ,"," Jane ,", " charlie ", " john "]
79. ما هي وظائف unescape() و escape()؟
وظيفة الهروب () هي المسؤولة عن ترميز سلسلة لنقل المعلومات من جهاز كمبيوتر إلى آخر عبر الشبكة.
على سبيل المثال:
<script>
document.write(escape("Hello? How are you!"));
</script>
الإخراج: Hello%3F%20How%20are%20you%21
تعد وظيفة unescape() مهمة جدًا لأنها تقوم بفك تشفير السلسلة المشفرة.
يعمل بالطريقة التالية، على سبيل المثال:
<script>
document.write(unescape("Hello%3F%20How%20are%20you%21"));
</script>
الإخراج: مرحبًا؟ كيف حالك!
80. ما هي decodeURI() وencodeURI()؟
تُستخدم الدالة EncodeURl() للتحويل URL إلى ترميزها السداسي العشري. ويتم استخدام DecodeURI() لتحويل الترميز URL العودة إلى وضعها الطبيعي.
<script>
var uri="my test.asp?name=ståle&car=saab";
document.write(encodeURI(uri)+ "<br>");
document.write(decodeURI(uri));
</script>
انتاج -
my%20test.asp?name=st%C3%A5le&car=saab
my test.asp?name=ståle&car=saab
Javaأسئلة المقابلة النصية للأشخاص الذين لديهم خبرة تزيد عن 10 سنوات
81. لماذا لا يجب عليك استخدام InnerHTML في Javaالبرنامج النصي؟
يتم تحديث محتوى InnerHTML في كل مرة، وبالتالي يكون أبطأ. لا يوجد مجال للتحقق من صحة innerHTML. لذلك، من الأسهل إدراج تعليمات برمجية خادعة في المستند وجعل صفحة الويب غير مستقرة.
82. ماذا تنص عليه العبارة التالية؟
var myArray = [[[]]];
يعلن عن مجموعة ثلاثية الأبعاد.
83. كيف حالك Javaهل يرتبط البرنامج النصي بـ ECMA Script؟
يشبه برنامج ECMA النصي القواعد والإرشادات، بينما Javascript هي لغة برمجة نصية تستخدم لتطوير الويب.
84. ما هو مساحة الاسم Javaالنص، وكيف يتم استخدامه؟
تُستخدم مساحات الأسماء للمجموعاتping تُعرَض الوظائف والمتغيرات المطلوبة، وما إلى ذلك، تحت اسم فريد. وهو اسم مُرتبط بالوظائف والكائنات والخصائص المطلوبة. يُحسِّن هذا من نمطية البرمجة ويُمكِّن من إعادة استخدام الكود.
85. كيف يمكن Javaيمكن إخفاء أكواد البرامج النصية من المتصفحات القديمة التي لا تدعم Javaالبرنامج النصي؟
للاختباء Javaأكواد البرامج النصية من المتصفحات القديمة:
يضيف " بطاقة شعار.
أضف "//–>" بدون علامتي الاقتباس في الكود قبل tag.
سوف تتعامل المتصفحات القديمة مع هذا الآن Javaكود البرنامج النصي كتعليق HTML طويل. في حين أن المتصفح الذي يدعم Javaسوف يأخذ النص " "كتعليقات من سطر واحد."
86. كيفية استخدام الحلقة Javaالبرنامج النصي؟
تكون الحلقات مفيدة عند تنفيذ نفس أسطر التعليمات البرمجية بشكل متكرر لعدد محدد من المرات أو طالما كان شرط معين صحيحًا. لنفترض أنك تريد كتابة رسالة "مرحبًا" 100 مرة على صفحة الويب الخاصة بك. وبطبيعة الحال، سيكون عليك نسخ ولصق نفس السطر 100 مرة. بدلاً من ذلك، إذا كنت تستخدم الحلقات، فيمكنك إكمال هذه المهمة في 3 أو 4 أسطر فقط.
87. كيفية استخدام الحلقات في Javascript?
هناك بشكل رئيسي أربعة أنواع من الحلقات Javaالنصي.
لحلقة
for/in a loop (سيتم شرح ذلك لاحقًا)
حائط اللوب
افعل ... أثناء التكرار
لحلقة
بناء الجملة:
for(statement1; statement2; statment3)
{
lines of code to be executed
}
- يتم تنفيذ العبارة 1 أولاً، حتى قبل تنفيذ looping الكود. لذا، تُستخدم هذه العبارة عادةً لتعيين قيم للمتغيرات المستخدمة داخل الحلقة.
- البيان 2 هو الشرط لتنفيذ حلقة.
- يتم تنفيذ العبارة 3 في كل مرة بعد looping يتم تنفيذ الكود.
<html>
<head>
<script type="text/javascript">
var students = new Array("John", "Ann", "Aaron", "Edwin", "Elizabeth");
document.write("<b>Using for loops </b><br />");
for (i=0;i<students.length;i++)
{
document.write(students[i] + "<br />");
}
</script>
</head>
<body>
</body>
</html>
حائط اللوب
بناء الجملة:
while(condition)
{
lines of code to be executed
}
يتم تنفيذ "حلقة while" طالما أن الشرط المحدد صحيح. داخل حلقة while، يجب عليك تضمين العبارة التي ستنهي الحلقة عند نقطة معينة من الوقت. وإلا، فلن تنتهي حلقتك أبدًا، وقد يتعطل متصفحك.
افعل ... أثناء التكرار
بناء الجملة:
<pre>
do
{
block of code to be executed
} while (condition)
حلقة do... while تشبه إلى حد كبير حلقة while. والفرق الوحيد هو أنه في حلقة do…while، يتم تنفيذ كتلة التعليمات البرمجية مرة واحدة حتى قبل التحقق من الشرط.
على سبيل المثال:
<html>
<head>
<script type="text/javascript">
document.write("<b>Using while loops </b><br />");
var i = 0, j = 1, k;
document.write("Fibonacci series less than 40<br />");
while(i<40)
{
document.write(i + "<br />");
k = i+j;
i = j;
j = k;
}
</script>
</head>
<body>
</body>
</html>
88. ما هي المهم Javaشرح طريقة مصفوفة النصوص مع مثال؟
Javaطرق مصفوفة النصوص
يحتوي كائن Array على العديد من الخصائص والأساليب التي تساعد المطورين على التعامل مع المصفوفات بسهولة وكفاءة. يمكنك الحصول على قيمة الخاصية عن طريق تحديد arrayname.property ومخرجات الطريقة عن طريق تحديد arrayname.method().
- خاصية الطول -> إذا كنت تريد معرفة عدد العناصر في المصفوفة، يمكنك استخدام خاصية الطول.
- خاصية النموذج الأولي -> إذا كنت تريد إضافة خصائص وأساليب جديدة، يمكنك استخدام خاصية النموذج الأولي.
- طريقة عكسية -> يمكنك عكس ترتيب العناصر في المصفوفة باستخدام الطريقة العكسية.
- طريقة الفرز -> يمكنك فرز العناصر في مصفوفة باستخدام طريقة الفرز.
- طريقة البوب -> يمكنك إزالة العنصر الأخير من المصفوفة باستخدام طريقة pop.
- طريقة التحول --> يمكنك إزالة العنصر الأول من المصفوفة باستخدام طريقة shift.
- طريقة الدفع -> يمكنك إضافة قيمة كعنصر أخير في المصفوفة.
<html>
<head>
<title>Arrays!!!</title>
<script type="text/javascript">
var students = new Array("John", "Ann", "Aaron", "Edwin", "Elizabeth");
Array.prototype.displayItems=function(){
for (i=0;i<this.length;i++){
document.write(this[i] + "<br />");
}
}
document.write("students array<br />");
students.displayItems();
document.write("<br />The number of items in students array is " + students.length + "<br />");
document.write("<br />The SORTED students array<br />");
students.sort();
students.displayItems();
document.write("<br />The REVERSED students array<br />");
students.reverse();
students.displayItems();
document.write("<br />THE students array after REMOVING the LAST item<br />");
students.pop();
students.displayItems();
document.write("<br />THE students array after PUSH<br />");
students.push("New Stuff");
students.displayItems();
</script>
</head>
<body>
</body>
</html>
89. ما هو مفهوم OOPS Javaالبرنامج النصي؟
في كثير من الأحيان، لا تكون المتغيرات أو المصفوفات كافية لمحاكاة مواقف الحياة الواقعية. Javaيتيح لك البرنامج النصي إنشاء كائنات تعمل مثل الكائنات في الحياة الواقعية. يمكن أن يكون الطالب أو المنزل كائنًا يتمتع بالعديد من الخصائص الفريدة الخاصة به. يمكنك إنشاء خصائص وطرق لكائناتك لتسهيل البرمجة. إذا كان الكائن الخاص بك طالبًا، فسيكون له خصائص مثل الاسم الأول واسم العائلة والمعرف وما إلى ذلك، وطرق مثل حساب الرتبة وتغيير العنوان وما إلى ذلك. إذا كان الكائن الخاص بك منزلًا، فسيكون له خصائص مثل عدد الغرف ولون الطلاء والموقع وما إلى ذلك. الطرق مثل حساب المساحة وتغيير المالك وما إلى ذلك.
كيفية إنشاء كائن
يمكنك إنشاء كائن مثل هذا:
var objName = new Object();
objName.property1 = value1;
objName.property2 = value2;
objName.method1 = function()
{
line of code
}
OR
var objName= {property1:value1, property2:value2, method1: function()
{ lines of code} };
90. ما هي الحلقة من خلال خصائص الكائن؟
تُستخدم عادةً حلقة for/in للتنقل عبر خصائص الكائن. يمكنك إعطاء أي اسم للمتغير، لكن اسم الكائن يجب أن يكون هو نفس اسم الكائن الموجود بالفعل والذي تحتاج إلى تكراره.
بناء الجملة:
for (variablename in objectname)
{
lines of code to be executed
}
على سبيل المثال:
<html>
<head>
<script type="text/javascript">
var employee={first:"John", last:"Doe", department:"Accounts"};
var details = "";
document.write("<b>Using for/in loops </b><br />");
for (var x in employee)
{
details = x + ": " + employee[x];
document.write(details + "<br />");
}
</script>
</head>
<body>
</body>
</html>
91. ما هو Javaاختبار وحدة النص، وما هي التحديات في Javaاختبار وحدة النص؟
Javaاختبار وحدة النص هو طريقة اختبار يتم فيها Javaيقوم البرنامج النصي باختبار الكود المكتوب لصفحة ويب أو وحدة تطبيق ويب. يتم دمجه مع HTML كمعالج أحداث مضمن ويتم تنفيذه في المتصفح لاختبار ما إذا كانت جميع الوظائف تعمل بشكل جيد. يتم بعد ذلك تنظيم اختبارات الوحدة هذه في مجموعة الاختبار.
يحتوي كل جناح على عدة اختبارات مصممة ليتم تنفيذها لوحدة منفصلة. والأهم من ذلك، أنها لا تتعارض مع أي وحدة أخرى وتعمل مع عدد أقل من التبعيات على بعضها البعض (قد تسبب بعض المواقف الحرجة تبعيات).
تحديات Javaاختبار وحدة النص:
فيما يلي تحديات مهمة ل Javaاختبار وحدة النص:
- تدعم العديد من اللغات الأخرى اختبار الوحدات في المتصفحات، سواء في البيئة المستقرة أو في وقت التشغيل، ولكن Javaلا يمكن للبرنامج النصي
- يمكنك فهم بعض إجراءات النظام مع لغات أخرى، ولكن هذا ليس هو الحال مع Javaسيناريو
- بعض Javaتمت كتابة النصوص البرمجية لتطبيق ويب قد يكون له العديد من التبعيات.
- Javaمن الجيد استخدام البرنامج النصي مع HTML وCSS بدلاً من استخدامه على الويب
- صعوبات في عرض الصفحة ومعالجة DOM
- في بعض الأحيان تجد رسالة خطأ على شاشتك بخصوص "تعذر تحميل example.js" أو أي شيء آخر Javaخطأ في البرنامج النصي يتعلق بالتحكم في الإصدار. تندرج هذه الثغرات ضمن اختبار الوحدة Javaسيناريو
حلول Javaاختبار وحدة النص:
لتجنب مثل هذه المشكلات، ما يمكنك فعله هو:
- لا تستخدم المتغيرات العالمية.
- لا تتعامل مع الكائنات المحددة مسبقًا.
- تصميم الوظائف الأساسية بناءً على المكتبة.
- حاول إنشاء أجزاء صغيرة من الوظائف ذات تبعيات أقل.
92. ما هي بعض الأمور المهمة Javaأطر اختبار وحدات النصوص البرمجية؟
فيما يلي قائمة مختارة من أشهر Javaأطر وأدوات اختبار وحدات النصوص البرمجية المستخدمة على نطاق واسع:
وحدة.js: تُعرف باسم مكتبة التأكيد مفتوحة المصدر التي تعمل على المتصفح وNode.js. وهو متوافق للغاية مع الآخرين Javaأطر عمل اختبار الوحدات البرمجية مثل Mocha و Karma و Jasmine و QUnit و Protracيوفر tor، إلخ. واجهة برمجة التطبيقات الموثقة بالكامل لقائمة التأكيدات.
الوحدة: يتم استخدامه لكل من جانب العميل والخادم Javaاختبار وحدات النصوص البرمجية. هذا مجاني Javaيتم استخدام إطار عمل اختبار النصوص البرمجية لمشروعات jQuery. وهو يتبع مواصفات اختبار الوحدة المشتركة في JS لاختبار الوحدة في Javaالبرنامج النصي. يدعم جدول الدعم طويل الأمد للعقدة.
الياسمين: الياسمين هو إطار التطوير القائم على السلوك لاختبار الوحدة Javaالبرنامج النصي. يتم استخدامه لاختبار كل من المتزامن وغير المتزامن Javaأكواد البرامج النصية. لا تتطلب DOM وتأتي مع بناء جملة سهل يمكن كتابته لأي اختبار.
الكرمة: Karma هي بيئة اختبار إنتاجية مفتوحة المصدر. سهولة التحكم في سير العمل من خلال سطر الأوامر. يوفر حرية كتابة الاختبارات باستخدام Jasmine وMocha وQUnit. يمكنك إجراء الاختبار على أجهزة حقيقية مع سهولة تصحيح الأخطاء.
موكا: يعمل Mocha على Node.js وفي المتصفح. يقوم Mocha بإجراء اختبارات غير متزامنة بشكل أكثر بساطة. يوفر الدقة والمرونة في إعداد التقارير. يوفر دعمًا هائلاً للميزات الغنية مثل مهلة الانتظار الخاصة بالاختبار، Javaواجهات برمجة التطبيقات النصية.
يكون: يستخدم Facebook الدعابة حتى الآن لاختبار جميع Javaكود البرنامج النصي. يوفر تجربة اختبار بدون تكوين. يدعم تشغيل الاختبارات بشكل مستقل وغير متقطع دون أي تعارض. لا يتطلب أي تكوين إعداد ومكتبات أخرى.
افا: AVA هو أمر بسيط Javaإطار عمل اختبار الوحدة النصية. يتم تشغيل الاختبارات بالتوازي وبشكل تسلسلي. يتم تشغيل الاختبارات المتوازية دون مقاطعة بعضها البعض. يدعم إطار عمل الاختبار هذا أيضًا الاختبار غير المتزامن. يستخدم AVA العمليات الفرعية لتشغيل اختبار الوحدة Javaالنصي.
93. ما هي خوارزمية الفرز السريع Javaالبرنامج النصي؟
تتبع خوارزمية الفرز السريع نهج التقسيم والغزو. فهي تقسم العناصر إلى أجزاء أصغر بناءً على بعض الشروط وتنفذ عمليات النوع على تلك الأجزاء الأصغر المقسمة.
تُعد خوارزمية الفرز السريع واحدة من أكثر الخوارزميات استخدامًا وشعبية في أي لغة برمجة. إذا كنت Javaمطور البرامج النصية، ربما سمعت عن sort() والذي يتوفر بالفعل في Javaالنص. إذن، ربما كنت تفكر في الحاجة إلى خوارزمية الفرز السريع هذه. لفهم هذا، نحتاج أولاً إلى ما هو الفرز وما هو الفرز الافتراضي في Javaالنصي.
الفرز السريع يتبع فرق تسد خوارزمية Quicksort. تقوم بتقسيم العناصر إلى أجزاء أصغر بناءً على بعض الشروط وتنفذ عمليات الفرز على تلك الأجزاء الأصغر المقسمة. وبالتالي، فهي تعمل بشكل جيد مع مجموعات البيانات الكبيرة. لذا، إليك خطوات كيفية عمل Quicksort بكلمات بسيطة.
- أولاً، حدد العنصر الذي سيتم تسميته محور جزء.
- بعد ذلك، قم بمقارنة جميع عناصر المصفوفة مع العنصر المحوري المحدد وقم بترتيبها بحيث يتم ترك العناصر الأقل من العنصر المحوري. وأكبر من المحور على يمينه.
- وأخيرًا، قم بإجراء نفس العمليات على العناصر الموجودة على الجانب الأيسر والأيمن لعنصر المحور.
لذلك، هذا هو المخطط الأساسي للفرز السريع. فيما يلي الخطوات التي يجب اتباعها واحدة تلو الأخرى لإجراء الفرز السريع.
94.كيف يعمل الفرز السريع
الخطوة 1) أولاً ، ابحث عن ملف "المحور" عنصر في المصفوفة.
الخطوة 2) قم بتشغيل المؤشر الأيسر عند العنصر الأول من المصفوفة.
الخطوة 3) قم بتشغيل المؤشر الأيمن عند العنصر الأخير في المصفوفة.
الخطوة 4) قارن العنصر الذي يشير بالمؤشر الأيسر، وإذا كان أقل من العنصر المحوري، فحرك المؤشر الأيسر إلى اليمين (أضف 1 إلى الفهرس الأيسر). استمر في ذلك حتى يصبح عنصر الجانب الأيسر أكبر من أو يساوي العنصر المحوري.
الخطوة 5) قارن العنصر الذي يشير إليه المؤشر بالمؤشر الأيمن. إذا كان أكبر من عنصر المحور، فانقل المؤشر الأيمن إلى اليسار (العنصر الفرعي).trac(t 1 إلى الفهرس الأيمن). استمر في ذلك حتى يصبح العنصر الموجود على الجانب الأيمن أصغر من أو يساوي عنصر المحور.
الخطوة 6) تحقق مما إذا كان المؤشر الأيسر أقل من المؤشر الأيمن أو يساويه، ثم شاهد العناصر الموجودة في مواقع هذه المؤشرات.
الخطوة 7) زيادة المؤشر الأيسر وإنقاص المؤشر الأيمن.
الخطوة 8) إذا كان مؤشر المؤشر الأيسر لا يزال أقل من مؤشر المؤشر الأيمن، كرر العملية؛ وإلا، قم بإرجاع فهرس المؤشر الأيسر.
لذلك، دعونا نرى هذه الخطوات مع مثال. دعونا نفكر في مجموعة من العناصر التي نحتاج إلى فرزها هي [5,3,7,6,2,9،XNUMX،XNUMX،XNUMX،XNUMX،XNUMX].
فيما يلي خطوات إجراء الفرز السريع التي تظهر مع مثال [5,3,7,6,2,9،XNUMX،XNUMX،XNUMX،XNUMX،XNUMX].
الخطوة 1) تحديد المحور كعنصر وسط. لذا، 7 هو العنصر المحوري
الخطوة 2) ابدأ بالمؤشرين الأيسر والأيمن كعنصرين أول وأخير في المصفوفة، على التوالي. يشير المؤشر الأيسر إلى 5 عند الفهرس 0، ويشير المؤشر الأيمن إلى 9 في الفهرس 5.
الخطوة 3) قارن عنصر المؤشر الأيسر مع عنصر المحور، حيث أن 5 < 6 يحول المؤشر الأيسر إلى اليمين إلى الفهرس 1.
الخطوة 4) الآن، لا يزال 3 <6، لذا قم بنقل المؤشر الأيسر إلى مؤشر آخر إلى اليمين. الآن 7 > 6 يتوقف عن زيادة المؤشر الأيسر، والآن أصبح المؤشر الأيسر عند المؤشر 2.
الخطوة 5) الآن، قارن القيمة الموجودة بالمؤشر الأيمن مع العنصر المحوري. منذ 9 > 6، حرك المؤشر الأيمن إلى اليسار. الآن، كـ 2 <6، توقف عن تحريك المؤشر الأيمن.
الخطوة 6) قم بتبديل القيمتين الموجودتين عند المؤشرات اليسرى واليمنى مع بعضهما البعض.
الخطوة 7) حرك كلا المؤشرين خطوة أخرى.
الخطوة 8) بما أن 6 = 6، قم بتحريك المؤشرات إلى خطوة أخرى وتوقف عندما يتقاطع المؤشر الأيسر مع المؤشر الأيمن ويعيد فهرس المؤشر الأيسر.
هنا، وبناءً على النهج المذكور أعلاه، نحتاج إلى كتابة كود لعملية التبديل.ping العناصر وتقسيم المصفوفة كما هو مذكور في الخطوات السابقة.
على سبيل المثال:
var items = [5,3,7,6,2,9];
function swap(items, leftIndex, rightIndex){
var temp = items[leftIndex];
items[leftIndex] = items[rightIndex];
items[rightIndex] = temp;
}
function: partition(items, left, right) {
var pivot = items[Math.floor((right + left) / 2)], //middle element
i = left, //left pointer
j = right; //right pointer
while (i <= j) {
while (items[i] < pivot) {
i++;
}
while (items[j] > pivot) {
j--;
}
if (i <= j) {
swap(items, i, j); //sawpping two elements
i++;
j--;
}
}
return i;
}
function quickSort(items, left, right) {
var index;
if (items.length > 1) {
index = partition(items, left, right); //index returned from partition
if (left < index - 1) { //more elements on the left side of the pivot
quickSort(items, left index - 1);
}
if (index < right) { //more elements on the right side of the pivot
quickSort(items, index, right);
}
}
return items;
}
// first call to quick sort
var sortedArray = quickSort(items, 0, items.length - 1);
console.log(sortedArray); //prints [2,3,5,6,7,9]
95. ما هو DOM في Javaالبرنامج النصي؟
Javaيمكن للنص الوصول إلى كافة العناصر في صفحة الويب باستخدام نموذج كائن المستند (DOM). يقوم متصفح الويب بإنشاء نموذج كائن المستند (DOM) لصفحة الويب عند تحميل الصفحة.
96. كيفية استخدام DOM والأحداث؟
باستخدام DOM، Javaيمكن للنص البرمجي تنفيذ مهام متعددة. يمكنه إنشاء عناصر وسمات جديدة، وتغيير العناصر والسمات الموجودة، بل وحتى إزالة العناصر والسمات الموجودة. Javaيمكن للنص أيضًا التفاعل مع الأحداث الموجودة وإنشاء أحداث جديدة في الصفحة.
- getElementById، مثال HTML الداخلي
- getElementById: للوصول إلى العناصر والسمات التي تم تعيين معرفها.
- InnerHTML: للوصول إلى محتوى العنصر.
<html>
<head>
<title>DOM!!!</title>
</head>
<body>
<h3 id="one">Welcome</h3>
<p>This is the welcome message.</p>
<h3>Technology</h3>
<p>This is the technology section.</p>
<script type="text/javascript">
var text = document.getElementById("one").innerHTML;
alert("The first heading is " + text);
</script>
</body>
</html>
2.getElementsByTagName مثال
getElementsByTagName: للوصول إلى العناصر والسمات باستخدام اسم العلامة. ستُرجع هذه الطريقة مصفوفة من كافة العناصر التي لها نفس اسم العلامة.
<html>
<head>
<title>DOM!!!</title>
</head>
<body>
<h3>Welcome</h3>
<p>This is the welcome message.</p>
<h3>Technology</h3>
<p id="second">This is the technology section.</p>
<script type="text/javascript">
var paragraphs = document.getElementsByTagName("p");
alert("Content in the second paragraph is " + paragraphs[1].innerHTML);
document.getElementById("second").innerHTML = "The orginal message is changed.";
</script>
</body>
</html>
مثال معالج الأحداث
- createElement: لإنشاء عنصر جديد
- RemoveChild: إزالة عنصر
- يمكنك إضافة معالج الأحداث لعنصر معين مثل هذا
document.getElementById(id).onclick=function()
{
lines of code to be executed
}
OR
document.getElementById(id).addEventListener("click", functionname)
على سبيل المثال:
<html>
<head>
<title>DOM!!!</title>
</head>
<body>
<input type="button" id="btnClick" value="Click Me!!" />
<script type="text/javascript">
document.getElementById("btnClick").addEventListener("click", clicked);
function clicked()
{
alert("You clicked me!!!");
}
</script>
</body>
</html>
97. ما هو خارجي Javaالبرنامج النصي؟
أنت تخطط لعرض التاريخ والوقت الحاليين على جميع صفحات الويب لديك. لنفترض أنك كتبت الكود ونسخته إلى جميع صفحات الويب لديك (100 على سبيل المثال). ولكنك تريد لاحقًا تغيير التنسيق الذي يتم به عرض التاريخ أو الوقت. في هذه الحالة، سيتعين عليك إجراء تغييرات على جميع صفحات الويب المائة. ستكون هذه مهمة تستغرق وقتًا طويلاً وصعبة.
لذلك، احفظ Javaقم بإنشاء كود نصي في ملف جديد بامتداد .js. ثم أضف سطرًا من الكود في جميع صفحات الويب لديك للإشارة إلى ملف .js الخاص بك على النحو التالي:
<script type="text/javascript," src="/currentdetails.js,">
ملاحظة: من المفترض أن يكون ملف .js وجميع صفحات الويب الخاصة بك في نفس المجلد. إذا كان الملف External.js موجودًا في مجلد مختلف، فستحتاج إلى تحديد المسار الكامل لملفك في السمة src.
على سبيل المثال:
var currentDate = new Date();
var day = currentDate.getDate();
Var month = currentDate.getMonth() + 1;
var monthName;
var hours = currentDate.getHours();
var mins = currentDate.getMinutes();
var secs = currentDate.getSeconds();
var strToAppend;
It (hours >12 )
{
hours1 = "0" + (hours - 12);
strToAppend = "PM";
}
else if (hours <12)
{
hours1 = "0" + hours;
strToAppend = "AM";
}
else
{
hours1 = hours;
strToAppend = "PM";
}
if(mins<10)
mins = "0" + mins;
if (secs<10)
secs = "0" + secs;
switch (month)
{
case 1:
monthName = "January";
break;
case 2:
monthName = "February";
break;
case 3:
monthName = "March";
break;
case 4:
monthName = "April";
break;
case 5:
monthName = "May";
break;
case 6:
monthName = "June";
break;
case 7:
monthName = "July";
break;
case 8:
monthName = "August";
break;
case 9:
monthName = "September";
break;
case 10:
monthName = "October";
break;
case 11:
monthName = "November";
break;
case 12:
monthName = "December";
break;
}
var year = currentDate.getFullYear();
var myString;
myString = "Today is " + day + " - " + monthName + " - " + year + ".<br />Current time is " + hours1 + ":" + mins + ":" + secs + " " + strToAppend + ".";
document.write(myString);
98. متى تستخدم الداخلية والخارجية Javaسيناريو Code?
لنفترض أن لديك بضعة أسطر فقط من التعليمات البرمجية الخاصة بصفحة ويب معينة. في هذه الحالة، من الأفضل أن تحتفظي بملكيتك Javaكود البرنامج النصي داخليًا في مستند HTML الخاص بك.
من ناحية أخرى ، إذا كان لديك Javaيُستخدم كود البرمجة النصية في العديد من صفحات الويب، لذا يجب عليك مراعاة ذلك.ping ضع الكود الخاص بك في ملف منفصل. إذا أردت إجراء أي تغييرات عليه، يكفي تعديل ملف واحد فقط، مما يُسهّل صيانة الكود. إذا كان الكود طويلاً جدًا، فمن الأفضل حفظه في ملف منفصل، فهذا يُسهّل عملية تصحيح الأخطاء.
99. ما هي ملفات تعريف الارتباط Javaالبرنامج النصي؟
ملف تعريف الارتباط هو قطعة من البيانات يتم تخزينها على جهاز الكمبيوتر الخاص بك ليتمكن متصفحك من الوصول إليها. ربما تكون قد استمتعت بفوائد ملفات تعريف الارتباط عن علم أو عن غير علم. هل سبق لك أن قمت بحفظ كلمة مرور Facebook الخاصة بك حتى لا تضطر إلى كتابتها في كل مرة تحاول فيها تسجيل الدخول؟ إذا كانت الإجابة بنعم، فأنت تستخدم ملفات تعريف الارتباط. يتم حفظ ملفات تعريف الارتباط كأزواج مفتاح/قيمة.
Javascript ملف تعريف الارتباط المحدد:
يمكنك إنشاء ملفات تعريف الارتباط باستخدام document. خاصية ملفات تعريف الارتباط مثل هذا.
document.cookie = "cookiename=cookievalue"
يمكنك أيضًا إضافة تاريخ انتهاء الصلاحية إلى ملف تعريف الارتباط الخاص بك لإزالة ملف تعريف الارتباط المعين من الكمبيوتر في التاريخ المحدد. يجب تحديد تاريخ انتهاء الصلاحية بتنسيق UTC/GMT. إذا لم تقم بتعيين تاريخ انتهاء الصلاحية، فسيتم إزالة ملف تعريف الارتباط عندما يغلق المستخدم المتصفح.
document.cookie = "cookiename=cookievalue; expires= Thu, 21 Aug 2014 20:00:00 UTC"
يمكنك أيضًا تعيين المجال والمسار لتحديد المجال والدلائل في المجال المحدد الذي ينتمي إليه ملف تعريف الارتباط. افتراضيًا، ينتمي ملف تعريف الارتباط إلى الصفحة التي تقوم بتعيين ملف تعريف الارتباط.
document.cookie = "cookiename=cookievalue; expires= Thu, 21 Aug 2014 20:00:00 UTC; path=/
// أنشئ ملف تعريف ارتباط بمجال إلى الصفحة الحالية ومسارًا إلى المجال بأكمله.
Javaنص الحصول على ملف تعريف الارتباط
يمكنك الوصول إلى ملف تعريف الارتباط بهذه الطريقة، والذي سيعيد جميع ملفات تعريف الارتباط المحفوظة للمجال الحالي.
var x = document.cookie
Javaبرنامج حذف ملفات تعريف الارتباط
لحذف ملف تعريف الارتباط، ما عليك سوى تعيين قيمة ملف تعريف الارتباط على فارغة وتعيين قيمة انتهاء الصلاحية على تاريخ منقضي.
على سبيل المثال:
<html>
<head>
<title>Cookie!!!</title>
<script type="text/javascript">
function createCookie(cookieName,cookieValue,daysToExpire)
{
var date = new Date();
date.setTime(date.getTime()+(daysToExpire*24*60*60*1000));
document.cookie = cookieName + "=" + cookieValue + "; expires=" + date.toGMTString();
}
function accessCookie(cookieName)
{
var name = cookieName + "=";
var allCookieArray = document.cookie.split(';');
for(var i=0; i<allCookieArray.length; i++)
{
var temp = allCookieArray[i].trim();
if (temp.indexOf(name)==0)
return temp.substring(name.length,temp.length);
}
return "";
}
function checkCookie()
{
var user = accessCookie("testCookie");
if (user!="")
alert("Welcome Back " + user + "!!!");
else
{
user = prompt("Please enter your name");
num = prompt("How many days you want to store your name on your computer?");
It (user!="" && user!=null)
{
createCookie("testCookie", user, num);
}
}
}
</script>
</head>
<body onload="checkCookie()"></body>
</html>
100. أعط مثالا على Javaجدول الضرب النصي
فيما يلي مثال لجدول ضرب بسيط يطلب من المستخدم عدد الصفوف والأعمدة التي يريدها.
على سبيل المثال:
<html>
<head>
<title>Multiplication Table</title>
<script type="text/javascript">
var rows = prompt("How many rows for your multiplication table?");
var cols = prompt("How many columns for your multiplication table?");
if(rows == "" || rows == null)
rows = 10;
if(cols== "" || cols== null)
cols = 10;
createTable(rows, cols);
function createTable(rows, cols)
{
var j=1;
var output = "<table border='1' width='500' cellspacing='0'cellpadding='5'>";
for(i=1;i<=rows;i++)
{
output = output + "<tr>";
while(j<=cols)
{
output = output + "<td>" + i*j + "</td>";
j = j+1;
}
output = output + "</tr>";
j = 1;
}
output = output + "</table>";
document.write(output);
}
</script>
</head>
<body>
</body>
</html>
101. شرح الرسالة المنبثقة باستخدام الحدث مع المثال
اعرض رسالة بسيطة "مرحبًا بك!!!" على صفحة الويب التجريبية الخاصة بك وعندما يحوم المستخدم فوق الرسالة، يجب عرض نافذة منبثقة تحتوي على رسالة "مرحبًا بك في صفحتي على الويب!!!".
على سبيل المثال:
<html>
<head>
<title>Event!!!</title>
<script type="text/javascript">
function trigger()
{
document.getElementById("hover").addEventListener("mouseover", popup);
function popup()
{
alert("Welcome to my WebPage!!!");
}
}
</script>
<style>
p{
font-size:50px;
position: fixed;
left: 550px;
top: 300px;
}
</style>
</head>
<body onload="trigger();">
<p id="hover">Welcome!!!</p>
</body>
</html>
ستساعد أسئلة المقابلة هذه أيضًا في حياتك (شفهي)

