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" صحيح). استخدم === للمساواة الصارمة لتجنب المفاجآت.📖 ملخص
- يغطي هذا المرجع عبارات وعوامل وطرق JavaScript الأساسية
- MDN هو المصدر الموثوق للحالات الخاصة والميزات الجديدة
- فضّل
===على==لتجنب أخطاء تحويل النوع - طرق الصفيف والسلسلة مستقرة لكن تظهر طرق جديدة سنويًا
📝 تمارين
- اختر 3 طرق لا تعرفها. اقرأ وثائقها في MDN. اكتب ملخصًا من سطر واحد لكل واحدة.
- ابحث عن مكان في شفرتك يستخدم
==وأعد هيكلته إلى===. شغّل الاختبارات. - اذكر 5 طرق صفيف تأخذ دالة callback. صف توقيع الـ callback.