JavaScript: مرجع سريع لـ JavaScript

هذه الصفحة هي ورقة غش مرجعية سريعة لصيغة JavaScript الشائعة و APIs، منظمة حسب الفئة.


1. مرجع الجمل

الجملة الصيغة الوصف
var var name = value; إعلان متغير بنطاق الدالة (مهمل — استخدم let بدلاً منها)
let let name = value; إعلان متغير بنطاق الكتلة، قابل لإعادة التعيين
const const name = value; إعلان ثابت بنطاق الكتلة، غير قابل لإعادة التعيين
if/else if (cond) {} else if (cond) {} else {} تفرع شرطي
for for (let i = 0; i < n; i++) {} حلقة كلاسيكية
while while (cond) {} حلقة الشرط أولاً
do...while do {} while (cond); حلقة الجسم أولاً (تنفذ مرة واحدة على الأقل)
switch switch (expr) { case val: break; default: } تطابق متعدد الفروع
try/catch try {} catch (err) {} finally {} معالجة الاستثناءات
function function name(params) {} إعلان دالة
return return value; إرجاع قيمة من دالة
class class Name { constructor() {} } إعلان فئة
import import { name } from 'module'; استيراد وحدة
export export const name = value; تصدير من وحدة


▶ مثال

JAVASCRIPT
// مثال على الكود في هذا القسم
const message = "مرحبا بالعالم!";
console.log(message);
▶ جرّب الكود

هذا أبسط مثال; الأقسام التالية ستشرح بالتفصيل.## 2. مرجع العوامل

الفئة العوامل الوصف
حسابية + - * / % ** جمع، طرح، ضرب، قسمة، باقي، أس
حسابية ++ -- زيادة، نقصان
مقارنة == != === !== يساوي، لا يساوي، يساوي صارم، لا يساوي صارم
مقارنة > < >= <= أكبر من، أصغر من، أكبر أو يساوي، أصغر أو يساوي
منطقية && || ! AND، OR، NOT
تعيين = += -= *= /= %= تعيين وتعيين مركب
ثلاثي cond ? a : b تعبير شرطي
انتشار ...arr انتشار مصفوفة أو كائن


2. ورقة غش طرق السلاسل

الطريقة الصيغة الوصف
length str.length طول السلسلة (خاصية، ليست طريقة)
charAt str.charAt(index) الحرف في الموضع المعطى
indexOf str.indexOf(search, from?) البحث عن موضع جزء فرعي؛ يُرجع -1 إذا لم يُعثر عليه
includes str.includes(search, from?) التحقق من وجود جزء فرعي؛ يُرجع منطقي
slice str.slice(start, end?) استخراج جزء فرعي (يدعم الأرقام السالبة)
substring str.substring(start, end?) استخراج جزء فرعي (بدون أرقام سالبة)
replace str.replace(pattern, replacement) استبدال أول تطابق
toUpperCase str.toUpperCase() تحويل إلى أحرف كبيرة
toLowerCase str.toLowerCase() تحويل إلى أحرف صغيرة
trim str.trim() إزالة المسافات البادئة والنهاية
split str.split(separator, limit?) تقسيم السلسلة إلى مصفوفة بالفاصل
padStart str.padStart(length, fill) حشو البداية إلى طول معطى
padEnd str.padEnd(length, fill) حشو النهاية إلى طول معطى
repeat str.repeat(count) تكرار السلسلة
match str.match(regexp) تطابق regex؛ يُرجع مصفوفة أو null


3. ورقة غش طرق المصفوفات

الطريقة الصيغة الوصف
push arr.push(item) إضافة إلى النهاية؛ يُرجع الطول الجديد
pop arr.pop() إزالة من النهاية؛ يُرجع العنصر المحذوف
shift arr.shift() إزالة من البداية؛ يُرجع العنصر المحذوف
unshift arr.unshift(item) إضافة إلى البداية؛ يُرجع الطول الجديد
splice arr.splice(start, deleteCount, ...items) إضافة/إزالة/استبدال (يُعدّل المصفوفة)
slice arr.slice(start, end?) استخراج مصفوفة فرعية (لا تُعدّل)
map arr.map(fn) تحويل كل عنصر؛ يُرجع مصفوفة جديدة
filter arr.filter(fn) الاحتفاظ بالعناصر التي تجتاز الاختبار؛ يُرجع مصفوفة جديدة
reduce arr.reduce(fn, init) تراكم نتيجة واحدة من المصفوفة
find arr.find(fn) إرجاع أول عنصر يجتاز الاختبار
findIndex arr.findIndex(fn) إرجاع مؤشر أول عنصر مطابق
sort arr.sort(compareFn?) ترتيب المصفوفة (يُعدّلها)
reverse arr.reverse() عكس المصفوفة (يُعدّلها)
forEach arr.forEach(fn) التكرار على كل عنصر؛ بدون قيمة إرجاع
every arr.every(fn) التحقق مما إذا كانت جميع العناصر تجتاز الاختبار
some arr.some(fn) التحقق مما إذا كان عنصر واحد على الأقل يجتاز الاختبار
includes arr.includes(item, from?) التحقق مما إذا كانت المصفوفة تحتوي على عنصر
indexOf arr.indexOf(item, from?) البحث عن مؤشر عنصر
join arr.join(separator?) ربط المصفوفة في سلسلة
concat arr.concat(arr2) دمج المصفوفات (لا تُعدّل)
flat arr.flat(depth?) تسطيح المصفوفات المتداخلة


4. ورقة غش طرق Math

الطريقة الصيغة الوصف
round Math.round(x) تقريب إلى أقرب عدد صحيح
floor Math.floor(x) تقريب لأسفل
ceil Math.ceil(x) تقريب لأعلى
random Math.random() رقم عشوائي في [0، 1)
max Math.max(a, b, ...) إرجاع أكبر قيمة
min Math.min(a, b, ...) إرجاع أصغر قيمة
abs Math.abs(x) القيمة المطلقة
pow Math.pow(base, exp) الأس
sqrt Math.sqrt(x) الجذر التربيعي
PI Math.PI باي ≈ 3.14159
E Math.E عدد أويلر ≈ 2.71828
trunc Math.trunc(x) إزالة الجزء الكسري
sign Math.sign(x) يُرجع 1 / 0 / -1


5. ورقة غش طرق DOM

الطريقة/الخاصية الصيغة الوصف
getElementById document.getElementById('id') الحصول على عنصر واحد بالـ ID
querySelector document.querySelector('selector') الحصول على أول عنصر يطابق محدد CSS
querySelectorAll document.querySelectorAll('selector') الحصول على جميع العناصر التي تطابق محدد CSS
getElementsByClassName document.getElementsByClassName('cls') الحصول على العناصر بالاسم الفئة (مجموعة حية)
getElementsByTagName document.getElementsByTagName('tag') الحصول على العناصر باسم الوسم (مجموعة حية)
textContent el.textContent قراءة أو كتابة محتوى نصي عادي
innerHTML el.innerHTML قراءة أو كتابة محتوى HTML (انتبه لـ XSS)
setAttribute el.setAttribute('name', 'value') تعيين سمة
getAttribute el.getAttribute('name') الحصول على قيمة سمة
classList el.classList.add/remove/toggle/contains التلاعب بفئات CSS
createElement document.createElement('tag') إنشاء عقدة عنصر جديدة
appendChild parent.appendChild(child) إلحاق عقدة ابن بالنهاية
removeChild parent.removeChild(child) إزالة عقدة ابن
cloneNode el.cloneNode(deep?) استنساخ عقدة (true = استنساخ عميق)


6. مرجع الأحداث

الحدث متى يُطلق العناصر الشائعة
click نقرة واحدة أي عنصر
dblclick نقرة مزدوجة أي عنصر
mouseover الماوس يدخل أي عنصر
mouseout الماوس يخرج أي عنصر
keydown مفتاح ضُغط document، عناصر النموذج
keyup مفتاح أُفرج document، عناصر النموذج
submit تم إرسال النموذج form
change القيمة تغيرت وفقدت التركيز input، select، textarea
input القيمة تغيرت في الوقت الفعلي input، textarea
load الصفحة والموارد محملة بالكامل window
DOMContentLoaded اكتمل تحليل HTML document
focus العنصر يحصل على التركيز عناصر النموذج
blur العنصر يفقد التركيز عناصر النموذج
scroll التمرير window، عناصر قابلة للتمرير
resize حجم النافذة يتغير window

❓ أسئلة شائعة

س أين يمكنني العثور على المرجع الرسمي لـ JavaScript؟
ج المرجع الرسمي موجود على MDN Web Docs — يغطي كل طريقة وخاصية وحالة خاصة.
س كيف أحافظ على هذا المرجع محدّثًا؟
ج ضع إشارة مرجعية على MDN. JavaScript يتطور سنويًا؛ هذه الصفحة تغطي ميزات ES2020+. الطرق الجديدة مثل Array.toSorted() (ES2023) قد لا تظهر هنا بعد.
س لماذا == غير موصى به؟
ج == يقوم بتحويل نوع ضمني (مثال: 0 == "0" صحيح). استخدم === للمساواة الصارمة لتجنب المفاجآت.

📖 ملخص

📝 تمارين

  1. اختر 3 طرق لا تعرفها. اقرأ وثائقها في MDN. اكتب ملخصًا من سطر واحد لكل واحدة.
  2. ابحث عن مكان في شفرتك يستخدم == وأعد هيكلته إلى ===. شغّل الاختبارات.
  3. اذكر 5 طرق صفيف تأخذ دالة callback. صف توقيع الـ callback.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%