يستخدم JavaScript في المستعرض نموذج برمجة يعتمد على الأحداث. كل شيء يبدأ باتباع حدث. هذه مقدمة لأحداث JavaScript وكيفية عمل معالجة الأحداث
- مقدمة
- معالجات الأحداث
- الاستماع إلى عناصر مختلفة
- كائن الحدث
- فقاعات الحدث والتقاط الحدث
- وقف التكاثر
- الأحداث الشعبية
- خانق
مقدمة
يستخدم JavaScript في المستعرض نموذج برمجة يعتمد على الأحداث.
كل شيء يبدأ باتباع حدث.
يمكن أن يكون الحدث هو تحميل DOM ، أو طلب غير متزامن ينتهي من الجلب ، أو نقر المستخدم على عنصر أو تمرير الصفحة ، أو يكتب المستخدم على لوحة المفاتيح.
هناك الكثير من أنواع الأحداث المختلفة.
معالجات الأحداث
يمكنك الرد على أي حدث باستخداممعالج الحدث، وهي وظيفة يتم استدعاؤها عند وقوع حدث ما.
يمكنك تسجيل معالجات متعددة لنفس الحدث ، وسيتم استدعاؤها جميعًا عند حدوث هذا الحدث.
تقدم JavaScript ثلاث طرق لتسجيل معالج الأحداث:
معالجات الأحداث المضمنة
نادرًا ما يتم استخدام هذا النمط من معالجات الأحداث اليوم ، نظرًا لقيوده ، ولكنه كان الطريقة الوحيدة في أيام JavaScript الأولى:
<a href="site.com" onclick="dosomething();">A link</a>
معالجات DOM عند الحدث
هذا شائع عندما يكون للكائن معالج حدث واحد على الأكثر ، حيث لا توجد طريقة لإضافة معالجات متعددة في هذه الحالة:
window.onload = () => {
//window loaded
}
يستخدم بشكل شائع عند المناولةXHRالطلبات:
const xhr = new XMLHttpRequest()
xhr.onreadystatechange = () => {
//.. do something
}
يمكنك التحقق مما إذا تم تعيين معالج بالفعل لخاصية باستخدامif ('onsomething' in window) {}
.
استخدامaddEventListener()
هذا البالطريقة الحديثة. تسمح هذه الطريقة بتسجيل أكبر عدد من المعالجات التي نحتاجها ، وهي الطريقة الأكثر شيوعًا التي ستجدها:
window.addEventListener('load', () => {
//window loaded
})
لاحظ أن IE8 والإصدارات الأقدم لم تدعم هذا ، وبدلاً من ذلك استخدمها
attachEvent()
API. ضع في اعتبارك إذا كنت بحاجة إلى دعم المتصفحات القديمة.
الاستماع إلى عناصر مختلفة
يمكنك الاستماعwindow
لاعتراض الأحداث "العالمية" ، مثل استخدام لوحة المفاتيح ، ويمكنك الاستماع إلى عناصر محددة للتحقق من الأحداث التي تحدث عليها ، مثل النقر بالماوس على زر.
هذا هو السببaddEventListener
أحيانًا ما يتم استدعاؤهwindow
، أحيانًا على عنصر DOM.
كائن الحدث
يحصل معالج الحدث على ملحقEvent
الكائن كمعامل أول:
const link = document.getElementById('my-link')
link.addEventListener('click', event => {
// link clicked
})
يحتوي هذا الكائن على الكثير من الخصائص والطرق المفيدة ، مثل:
target
، عنصر DOM الذي أنشأ الحدثtype
، نوع الحدثstopPropagation()
دعا لوقف نشر الحدث في DOM
يتم توفير الخصائص الأخرى حسب نوع معين من الأحداث ، مثلEvent
هي واجهة لأحداث محددة مختلفة:
- MouseEvent
- لوحة المفاتيح
- حدث السحب
- FetchEvent
- … و اخرين
كل من هؤلاء لديهم صفحة MDN مرتبطة ، حتى تتمكن من فحص جميع خصائصهم.
على سبيل المثال ، عند حدوث حدث لوحة المفاتيح ، يمكنك التحقق من المفتاح الذي تم الضغط عليه ، بتنسيق يمكن قراءته (Escape
وEnter
وهلم جرا) عن طريق التحقق منkey
منشأه:
window.addEventListener('keydown', event => {
// key pressed
console.log(event.key)
})
في حدث الماوس ، يمكننا التحقق من زر الماوس الذي تم الضغط عليه:
const link = document.getElementById('my-link')
link.addEventListener('mousedown', event => {
// mouse button pressed
console.log(event.button) //0=left, 2=right
})
فقاعات الحدث والتقاط الحدث
الفقاعات والتقاط هما النموذجان اللذان تستخدمهما الأحداث للتكاثر.
افترض أن هيكل DOM الخاص بك هو
<div id="container">
<button>Click me</button>
</div>
تريد تتبع الوقت الذي ينقر فيه المستخدمون على الزر ، ولديك مستمعان للحدث ، واحد علىbutton
، وواحد في#container
. تذكر أن النقر على عنصر فرعي سينتشر دائمًا إلى والديه ، إلا إذا أوقفت النشر (انظر لاحقًا).
سيتم استدعاء مستمعي الأحداث هؤلاء بالترتيب ، ويتم تحديد هذا الترتيب من خلال نموذج الفقاعة / الالتقاط المستخدم.
محتدمايعني أن الحدث ينتشر من العنصر الذي تم النقر عليه (الطفل) إلى كل شجرته الأصلية ، بدءًا من أقرب واحد.
في مثالنا ، المعالج يعملbutton
سوف يطلق النار قبل#container
معالج.
اسرهو عكس ذلك: يتم تشغيل معالجات الأحداث الخارجية قبل المعالج الأكثر تحديدًا ، والمعالج الموجودbutton
.
افتراضيا جميع الأحداث فقاعة.
يمكنك اختيار اعتماد التقاط الحدث من خلال تطبيق وسيطة ثالثة على addEventListener ، وتعيينها علىtrue
:
document.getElementById('container').addEventListener(
'click',
() => {
//window loaded
},
true
)
لاحظ أنأولًا ، يتم تشغيل جميع معالجات أحداث الالتقاط.
ثم كل معالجات الأحداث الفقاعية.
يتبع الترتيب هذا المبدأ: يمر DOM عبر جميع العناصر بدءًا من كائن Window ، ويذهب للعثور على العنصر الذي تم النقر عليه. أثناء القيام بذلك ، فإنه يستدعي أي معالج حدث مرتبط بالحدث (مرحلة الالتقاط).
بمجرد وصوله إلى الهدف ، فإنه يكرر الرحلة حتى الشجرة الأم حتى كائن Window ، ويستدعي مرة أخرى معالجات الأحداث (مرحلة الفقاعة).
وقف التكاثر
سيتم نشر حدث في عنصر DOM إلى كل شجرة عناصره الأصلية ، ما لم يتم إيقافه.
<html>
<body>
<section>
<a id="my-link" ...>
انقر فوق الحدثa
سوف تنتشر إلىsection
وثمbody
.
يمكنك إيقاف التكاثر باستدعاءstopPropagation()
طريقة حدث ، عادةً في نهاية معالج الحدث:
const link = document.getElementById('my-link')
link.addEventListener('mousedown', event => {
// process the event
// ...
event.stopPropagation()
})
الأحداث الشعبية
فيما يلي قائمة بالأحداث الأكثر شيوعًا التي من المحتمل أن تتعامل معها.
حمل
load
أطلق عليهwindow
و الbody
العنصر عند انتهاء تحميل الصفحة.
أحداث الماوس
click
حرائق عند النقر فوق زر الماوس.dblclick
عندما يتم النقر بالماوس مرتين. بالطبع في هذه الحالةclick
تم إطلاقه قبل هذا الحدث مباشرة.mousedown
وmousemove
وmouseup
يمكن استخدامها معًا لتتبع أحداث السحب والإفلات. كن حذرا معmousemove
، حيث يتم إطلاقه عدة مرات أثناء حركة الماوس (انظرخانقفي وقت لاحق)
أحداث لوحة المفاتيح
keydown
حرائق عند الضغط على زر لوحة المفاتيح (وفي أي وقت يتكرر المفتاح أثناء الزريبقىضغط).keyup
عند تحرير المفتاح.
انتقل
الscroll
تم تشغيل الحدثwindow
في كل مرة تقوم فيها بالتمرير في الصفحة. داخل معالج الأحداث ، يمكنك التحقق من موضع التمرير الحالي عن طريق التحققwindow.scrollY
.
ضع في اعتبارك أن هذا الحدث ليس حدثًا لمرة واحدة. يتم تشغيله كثيرًا أثناء التمرير ، وليس فقط في نهاية أو بداية التمرير ، لذلك لا تقم بأي عمليات حسابية أو معالجة ثقيلة في المعالج - استخدمخانقبدلا من.
خانق
كما ذكرنا أعلاه ،mousemove
وscroll
حدثان لم يتم تشغيلهما مرة واحدة لكل حدث ، ولكنهما يستدعيان باستمرار وظيفة معالج الحدث طوال مدة الإجراء.
هذا لأنها توفر إحداثيات حتى تتمكن من تتبع ما يحدث.
إذا قمت بإجراء عملية معقدة في معالج الحدث ، فسوف تؤثر على الأداء وتسبب تجربة بطيئة لمستخدمي موقعك.
المكتبات التي توفر الاختناق مثللوداشتطبيقه في أكثر من 100 سطر من التعليمات البرمجية للتعامل مع كل حالة استخدام ممكنة. تطبيق بسيط وسهل الفهم هو هذا الذي يستخدمsetTimeoutللتخزين المؤقت لحدث التمرير كل 100 مللي ثانية:
let cached = null
window.addEventListener('scroll', event => {
if (!cached) {
setTimeout(() => {
//you can access the original event at `cached`
cached = null
}, 100)
}
cached = event
})
تحميل مجانيدليل جافا سكريبت للمبتدئين
المزيد من دروس js:
- أشياء يجب تجنبها في JavaScript (الأجزاء السيئة)
- المؤجلة والوعود في JavaScript (+ مثال Ember.js)
- كيفية تحميل الملفات إلى الخادم باستخدام JavaScript
- أسلوب ترميز جافا سكريبت
- مقدمة لمصفوفات JavaScript
- مقدمة في لغة برمجة جافا سكريبت
- دليل ECMAScript 2015-2019 الكامل
- فهم وعود JavaScript
- الهيكل المعجمي لجافا سكريبت
- أنواع جافا سكريبت
- متغيرات جافا سكريبت
- قائمة بعينات من أفكار تطبيقات الويب
- مقدمة في البرمجة الوظيفية باستخدام JavaScript
- JavaScript حديث غير متزامن مع Async و Await
- حلقات ونطاق JavaScript
- بنية بيانات Map JavaScript
- مجموعة بنية بيانات JavaScript
- دليل إلى JavaScript Template Literals
- خارطة الطريق لتعلم JavaScript
- تعبيرات جافا سكريبت
- اكتشف JavaScript Timers
- شرح أحداث JavaScript
- حلقات جافا سكريبت
- اكتب حلقات JavaScript باستخدام الخريطة ، والتصفية ، والتقليل ، والعثور
- حلقة حدث JavaScript
- وظائف JavaScript
- مسرد جافا سكريبت
- وأوضح إغلاق جافا سكريبت
- برنامج تعليمي لوظائف سهم JavaScript
- دليل لتعبيرات JavaScript العادية
- كيفية التحقق مما إذا كانت السلسلة تحتوي على سلسلة فرعية في JavaScript
- كيفية إزالة عنصر من مصفوفة في JavaScript
- كيفية استنساخ كائن JavaScript بعمق
- Introduction to Unicode and UTF-8
- Unicode في JavaScript
- كيفية تكبير الحرف الأول من سلسلة في JavaScript
- كيفية تنسيق رقم كقيمة عملة في JavaScript
- كيفية تحويل سلسلة إلى رقم في JavaScript
- هذا في JavaScript
- كيفية الحصول على الطابع الزمني الحالي في JavaScript
- وضع جافا سكريبت الصارم
- تعبيرات وظائف JavaScript التي تم استدعاؤها فورًا (IIFE)
- كيفية إعادة التوجيه إلى صفحة ويب أخرى باستخدام JavaScript
- كيفية إزالة خاصية من كائن JavaScript
- كيفية إلحاق عنصر بمصفوفة في JavaScript
- كيفية التحقق مما إذا كانت خاصية كائن JavaScript غير محددة
- مقدمة في وحدات ES
- مقدمة إلى CommonJS
- برمجة JavaScript غير المتزامنة وعمليات الاسترجاعات
- كيفية استبدال كل تكرارات سلسلة في JavaScript
- دليل مرجعي سريع لـ Modern JavaScript Syntax
- كيفية قص الصفر البادئ في رقم في JavaScript
- كيفية فحص كائن JavaScript
- الدليل النهائي لتواريخ JavaScript
- برنامج تعليمي من Moment.js
- الفاصلة المنقوطة في JavaScript
- عوامل تشغيل JavaScript الحسابية
- كائن JavaScript الرياضي
- قم بإنشاء سلاسل عشوائية وفريدة من نوعها في JavaScript
- كيفية جعل وظائف JavaScript الخاصة بك في وضع السكون
- الوراثة النموذجية لجافا سكريبت
- استثناءات JavaScript
- كيفية استخدام فئات JavaScript
- كتاب طبخ جافا سكريبت
- اقتباسات في JavaScript
- كيفية التحقق من صحة عنوان البريد الإلكتروني في JavaScript
- كيفية الحصول على الخصائص الفريدة لمجموعة من الكائنات في مصفوفة JavaScript
- كيفية التحقق مما إذا كانت السلسلة تبدأ بأخرى في JavaScript
- كيفية إنشاء سلسلة متعددة الأسطر في JavaScript
- دليل ES6
- كيفية الحصول على عنوان URL الحالي بجافا سكريبت
- دليل ES2016
- كيفية تهيئة مصفوفة جديدة بقيم في JavaScript
- دليل ES2017
- دليل ES2018
- كيفية استخدام Async و Await مع Array.prototype.map ()
- Async مقابل رمز المزامنة
- كيفية إنشاء رقم عشوائي بين رقمين في JavaScript
- برنامج HTML Canvas API التعليمي
- كيفية الحصول على فهرس التكرار في حلقة for-of في JavaScript
- ما هو تطبيق الصفحة الواحدة؟
- مقدمة إلى WebAssembly
- مقدمة إلى JSON
- دليل JSONP
- Should you use or learn jQuery in 2020?
- كيفية إخفاء عنصر DOM باستخدام JavaScript عادي
- كيفية دمج كائنين في JavaScript
- كيفية إفراغ مصفوفة JavaScript
- كيفية ترميز URL باستخدام JavaScript
- كيفية تعيين قيم المعلمات الافتراضية في JavaScript
- كيفية فرز مجموعة من الكائنات حسب قيمة الخاصية في JavaScript
- كيفية حساب عدد الخصائص في كائن JavaScript
- call () وتطبيق () في JavaScript
- مقدمة إلى PeerJS ، مكتبة WebRTC
- العمل مع الكائنات والمصفوفات باستخدام الراحة والانتشار
- تدمير الكائنات والمصفوفات في JavaScript
- الدليل النهائي لتصحيح أخطاء JavaScript
- دليل TypeScript
- حدد طريقة كائن في JavaScript ديناميكيًا
- تمرير غير محدد إلى JavaScript الذي تم استدعاؤه فورًا لتعبيرات الوظائف
- اللغات المكتوبة بشكل فضفاض مقابل اللغات المكتوبة بشدة
- كيفية تصميم عناصر DOM باستخدام JavaScript
- صب في جافا سكريبت
- برنامج تعليمي لمولدات جافا سكريبت
- حجم المجلد node_modules ليس مشكلة. إنه امتياز
- كيفية حل خطأ المعرف غير المتوقع عند استيراد وحدات في JavaScript
- كيفية سرد جميع طرق الكائن في JavaScript
- طريقة String replace ()
- طريقة البحث عن السلسلة ()
- كيف أقوم بتشغيل مقتطفات JavaScript صغيرة
- دليل ES2019
- طريقة حرف السلسلة ()
- أسلوب String charCodeAt ()
- طريقة String codePointAt ()
- طريقة String concat ()
- تنتهي السلسلة بـ () طريقة
- تتضمن السلسلة طريقة ()
- طريقة String indexOf ()
- طريقة String lastIndexOf ()
- طريقة String localeCompare ()
- طريقة String match ()
- طريقة String تطبيع ()
- طريقة String padEnd ()
- طريقة String padStart ()
- طريقة تكرار السلسلة ()
- طريقة شريحة السلسلة ()
- طريقة String split ()
- تبدأ السلسلة مع طريقة ()
- طريقة String substring ()
- أسلوب String toLocaleLowerCase ()
- طريقة String toLocaleUpperCase ()
- طريقة String toLowerCase ()
- طريقة String toString ()
- طريقة String toUpperCase ()
- طريقة String trim ()
- طريقة String trimEnd ()
- طريقة String trimStart ()
- Memoization في JavaScript
- طريقة String valueOf ()
- مرجع JavaScript: سلسلة
- طريقة الرقم isInteger ()
- طريقة Number isNaN ()
- طريقة Number isSafeInteger ()
- طريقة تحليل الأرقام ()
- طريقة تحليل الأرقام ()
- طريقة Number toString ()
- طريقة رقم valueOf ()
- طريقة الرقم إلى الدقة ()
- طريقة الرقم إلى إكسبونيشنال ()
- طريقة Number toLocaleString ()
- طريقة Number toFixed ()
- طريقة الرقم () هي نهائية
- مرجع JavaScript: رقم
- واصفات خاصية JavaScript
- طريقة تعيين الكائن ()
- طريقة إنشاء الكائن ()
- طريقة تحديد خصائص () الكائن
- طريقة تعريف الكائن الخاصية ()
- طريقة إدخالات الكائن ()
- طريقة تجميد الكائن ()
- طريقة الكائن getOwnPropertyDescriptor ()
- طريقة الكائن getOwnPropertyDescriptors ()
- أسلوب getOwnPropertyNames () للكائن
- طريقة الكائن getOwnPropertySymbols ()
- طريقة الكائن getPrototypeOf ()
- الكائن هو () طريقة
- طريقة الكائن هو الامتداد ()
- طريقة الكائن مجمد ()
- طريقة الكائن مغلق ()
- طريقة مفاتيح الكائن ()
- أسلوب منع الكائن ()
- طريقة ختم الكائن ()
- أسلوب الكائن setPrototypeOf ()
- طريقة قيم الكائن ()
- طريقة الكائن hasOwnProperty ()
- أسلوب الكائن isPrototypeOf ()
- أسلوب الكائن propertyIsEnumerable ()
- أسلوب الكائن toLocaleString ()
- طريقة Object toString ()
- طريقة قيمة الكائن ()
- مرجع JavaScript: كائن
- مشغل تعيين جافا سكريبت
- تدويل جافا سكريبت
- نوع مشغل جافا سكريبت
- مشغل جافا سكريبت الجديد
- مشغلي مقارنة جافا سكريبت
- قواعد أسبقية مشغلي JavaScript
- مثيل JavaScript من المشغل
- جمل جافا سكريبت
- نطاق جافا سكريبت
- جافا سكريبت نوع التحويلات (الصب)
- عوامل تشغيل مساواة جافا سكريبت
- جافا سكريبت if / else شرطي
- مفتاح تبديل JavaScript الشرطي
- مشغل حذف JavaScript
- معلمات وظيفة جافا سكريبت
- عامل انتشار جافا سكريبت
- قيم إرجاع JavaScript
- عوامل تشغيل منطقية جافا سكريبت
- مشغل جافا سكريبت الثلاثي
- العودية جافا سكريبت
- خصائص كائن JavaScript
- كائنات خطأ جافا سكريبت
- كائن JavaScript العالمي
- وظيفة مرشح () JavaScript
- وظيفة خريطة () JavaScript
- وظيفة تقليل () JavaScript
- عامل تشغيل JavaScript `in`
- عوامل تشغيل جافا سكريبت
- كيفية الحصول على قيمة خاصية CSS في JavaScript
- كيفية إضافة مستمع حدث إلى عناصر متعددة في JavaScript
- حقول فئة جافا سكريبت الخاصة
- كيفية فرز مصفوفة حسب قيمة التاريخ في JavaScript
- حقول الفئة العامة في JavaScript
- رموز جافا سكريبت
- كيفية استخدام مكتبة JavaScript bcrypt
- كيفية إعادة تسمية الحقول عند استخدام إتلاف الكائنات
- كيفية التحقق من الأنواع في JavaScript دون استخدام TypeScript
- كيفية التحقق مما إذا كانت مصفوفة JavaScript تحتوي على قيمة محددة
- ماذا يفعل عامل النفي المزدوج !! تفعل في جافا سكريبت؟
- أي عامل مساوي يجب استخدامه في مقارنات JavaScript؟ == مقابل ===
- هل ما زالت JavaScript تستحق التعلم؟
- كيفية إرجاع نتيجة دالة غير متزامنة في JavaScript
- كيفية التحقق مما إذا كان الكائن فارغًا في JavaScript
- كيفية الخروج من حلقة for في JavaScript
- كيفية إضافة عنصر إلى مصفوفة في فهرس معين في JavaScript
- لماذا لا يجب تعديل النموذج الأولي لكائن JavaScript
- ما الفرق بين استخدام let و var في JavaScript؟
- الروابط المستخدمة لتنشيط وظائف JavaScript
- كيفية ربط سلسلتين في JavaScript
- كيفية ربط صفيفين في JavaScript
- كيف تتحقق مما إذا كانت قيمة JavaScript عبارة عن مصفوفة؟
- كيف تحصل على العنصر الأخير من المصفوفة في JavaScript؟
- كيفية إرسال بيانات urlencoded باستخدام Axios
- كيفية الحصول على تاريخ الغد باستخدام JavaScript
- كيفية الحصول على تاريخ الأمس باستخدام JavaScript
- كيفية الحصول على اسم الشهر من تاريخ JavaScript
- كيفية التحقق من وجود تاريخين في نفس اليوم في JavaScript
- كيفية التحقق مما إذا كان التاريخ يشير إلى يوم في الماضي في JavaScript
- عبارات جافا سكريبت المسمى
- كيفية انتظار وعدين أو أكثر للحل في JavaScript
- كيفية الحصول على الأيام الواقعة بين تاريخين في JavaScript
- كيفية تحميل ملف باستخدام Fetch
- كيفية تنسيق التاريخ في جافا سكريبت
- كيفية التكرار على خصائص الكائن في JavaScript
- كيفية حساب عدد الأيام بين تاريخين في JavaScript
- كيفية استخدام انتظار المستوى الأعلى في وحدات ES
- الواردات الديناميكية لجافا سكريبت
- تسلسل اختياري لجافا سكريبت
- كيفية استبدال المسافة البيضاء داخل سلسلة في JavaScript
- دمج جافا سكريبت فارغ
- كيفية تسطيح مصفوفة في JavaScript
- هذا العقد في JavaScript
- كيفية إرسال رأس التفويض باستخدام Axios
- قائمة الكلمات الرئيسية والكلمات المحجوزة في JavaScript
- كيفية تحويل مصفوفة إلى سلسلة في JavaScript
- كيفية إزالة كافة محتويات مجلدات node_modules
- كيفية إزالة التكرارات من مصفوفة JavaScript
- دعونا مقابل Const في JavaScript
- نفس استدعاء POST API في العديد من مكتبات JavaScript
- كيفية الحصول على أول ن عنصر في مصفوفة في JS
- كيفية تقسيم المصفوفة إلى عدة أجزاء متساوية في JS
- كيفية إبطاء حلقة في JavaScript
- كيفية تحميل صورة في لوحة HTML
- كيفية قص سلسلة إلى كلمات في جافا سكريبت
- كيفية تقسيم المصفوفة إلى النصف في JavaScript
- كيفية كتابة نص في لوحة HTML
- كيفية إزالة الحرف الأخير من سلسلة في JavaScript
- كيفية إزالة الحرف الأول من سلسلة في JavaScript
- كيفية إصلاح خطأ TypeError: لا يمكن التعيين للقراءة فقط خاصية 'الصادرات' للكائن '# & lt؛ Object & gt؛' خطأ
- كيفية إنشاء نافذة منبثقة بغرض الخروج
- كيفية التحقق مما إذا كان عنصر ما هو سليل لعنصر آخر
- كيفية فرض بيانات الاعتماد على كل طلب Axios
- كيفية حل خطأ "ليست دالة" في JavaScript
- غاتسبي ، كيفية تغيير الرمز المفضل
- تحميل ملف JS خارجي باستخدام Gatsby
- كيفية اكتشاف الوضع المظلم باستخدام JavaScript
- Parcel ، كيفية إصلاح الخطأ `regeneratorRuntime غير محدد`
- كيفية اكتشاف ما إذا كان يتم استخدام Adblocker مع JavaScript
- تدمير الكائنات بأنواع في TypeScript
- دليل دينو: مقدمة موجزة عن دينو 🦕
- كيفية الحصول على الجزء الأخير من المسار أو URL باستخدام JavaScript
- كيفية تبديل العناصر في مصفوفة JavaScript عشوائيًا
- كيفية التحقق من وجود مفتاح في كائن JavaScript
- فقاعات الحدث والتقاط الحدث
- event.stopPropagation مقابل event.preventDefault () مقابل إرجاع false في أحداث DOM
- الأنواع البدائية مقابل الكائنات في JavaScript
- كيف يمكنك معرفة نوع القيمة في JavaScript؟
- كيفية إرجاع قيم متعددة من دالة في JavaScript
- وظائف الأسهم مقابل الوظائف العادية في JavaScript
- بأي طرق يمكننا الوصول إلى قيمة خاصية كائن؟
- ما الفرق بين null و undefined في JavaScript؟
- ما الفرق بين الطريقة والدالة؟
- ما هي الطرق التي يمكننا بها كسر حلقة في JavaScript؟
- JavaScript for..of الحلقة
- ما هو تدمير الكائن في جافا سكريبت؟
- ما هو الرفع في JavaScript؟
- كيفية تغيير الفواصل إلى نقاط باستخدام JavaScript
- أهمية التوقيت عند العمل مع DOM
- كيفية عكس مصفوفة JavaScript
- كيفية التحقق مما إذا كانت القيمة رقمًا في JavaScript
- كيفية قبول معاملات غير محدودة في وظيفة JavaScript
- كائنات وكيل جافا سكريبت
- تفويض الحدث في المتصفح باستخدام Vanilla JavaScript
- الكلمة الرئيسية جافا سكريبت الفائقة
- مقدمة إلى XState
- هل تمرر القيم بالمرجع أم بالقيمة في JavaScript؟
- أحداث مخصصة في JavaScript
- أخطاء مخصصة في JavaScript
- مساحات الأسماء في JavaScript
- استخدام فضولي للفواصل في JavaScript
- استدعاءات أسلوب التسلسل في JavaScript
- كيفية التعامل مع رفض الوعد
- كيفية تبديل عنصري مصفوفة في JavaScript
- كيف أصلحت خطأ "cb.apply ليس دالة" أثناء استخدام Gitbook
- كيفية إضافة عنصر في بداية مصفوفة في JavaScript
- غاتسبي ، إصلاح الخطأ "لا يمكن العثور على وحدة gatsby-cli / lib / reporter"
- كيفية الحصول على فهرس عنصر في مصفوفة JavaScript
- كيفية اختبار كائن فارغ في JavaScript
- كيفية تدمير كائن للمتغيرات الموجودة في JavaScript
- بنية بيانات Array JavaScript
- بنية بيانات جافا سكريبت المكدس
- هياكل بيانات جافا سكريبت: قائمة الانتظار
- هياكل بيانات JavaScript: مجموعة
- هياكل بيانات جافا سكريبت: قواميس
- هياكل بيانات JavaScript: القوائم المرتبطة
- JavaScript ، كيفية تصدير وظيفة
- JavaScript ، كيفية تصدير وظائف متعددة
- JavaScript ، كيفية الخروج من وظيفة
- JavaScript ، كيفية البحث عن حرف في سلسلة
- JavaScript ، كيفية تصفية المصفوفة
- JavaScript ، كيفية توسيع فئة
- JavaScript ، كيفية البحث عن التكرارات في المصفوفة
- JavaScript ، كيفية استبدال عنصر مصفوفة
- خوارزميات جافا سكريبت: البحث الخطي
- خوارزميات جافا سكريبت: بحث ثنائي
- خوارزميات JavaScript: فرز التحديد
- خوارزميات JavaScript: الترتيب السريع
- خوارزميات JavaScript: دمج الفرز
- خوارزميات جافا سكريبت: فرز الفقاعات