نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

التابع ‎‎jQuery.unique()‎‎ في jQuery

jQuery.unique( array )‎ أهمل مع الإصدار: 3.0. القيم المعادة يعيد مصفوفة (Array). الوصف يرتِّب هذا التابع مصفوفةً من عناصر DOM، في مكانها، مع حذف العناصر المتكرِّرة. انتبه إلى أنَّ هذا التابع لا يصلح للعمل إلا مع المصفوفات التي تحوي عناصر DOM فقط. jQuery.unique( array )‎ أُضيف مع الإصدار: 1.1.3. array مصفوفةٌ من عناصر DOM. بدءًا من الإصدار jQuery 3.0، أهمل هذا التابع وأصبح اسمًا بديلًا للتابع jQuery.uniqueSort()‎. استَعمِل رجاءً التابع الأخير عوضًا عن هذا التابع. يرتِّب التابع ‎$.unique()‎ مصفوفةً من ...

Document.location

تُعيد الخاصيّة Document.location القابلة للقِراءة فقط كائنًا من النّوع Location، والذي يحتوي على معلومات حول عنوان URL الخاصّ بالمُستند ويُتيح توابع لتعديل عنوان URL هذا وتحميل عنوان URL آخر. ورغم أنّ الخاصيّة Document.location للقِراءة فقط، إلا أنّك تستطيع تعيين سلسلة نصيّة من النّوع DOMString لها كذلك. ما يعني بأنّك تستطيع التّعامل مع هذه الخاصيّة بصفتها سلسلة نصيّة عاديّة في مُعظم الحالات. والسّطران التّاليّان مُتكافئان: document.location = 'http://www.example.com' document.location.href = 'http://www.example.com' للحصول على عنوان URL المُستندِ وحده، يُمكنك استعمال الخاصيّة document.URL كذلك. ...

Boolean.prototype.toString()‎

الدالة Boolean.prototype.toString()‎ تُعيد سلسلةً نصيّةً تُمثَّل كائن Boolean المعطي. البنية العامة bool.toString() القيمة المعادة سلسلة نصية تُمثَّل كائن Boolean المعطي. الوصف يُعيد الكائن Boolean تعريف الدالة toString الموروثة من الكائن Object؛ وستُعيد هذه الدالة سلسلةً نصيةً تُمثِّل الكائن Boolean. ستستدعي JavaScript هذه الدالة تلقائيًا عند محاولة استخدام كائن Boolean كقيمة نصية، مثلًا: عند إضافة سلسلة نصية إلى كائن Boolean.  ستُعيد الدالة toString في كائنات Boolean السلسلة النصية "true" أو "false" اعتمادًا على قيمة كائن Boolean. أمثلة هذا مثال عن استخدام ...

التابع ‎‎.removeAttr()‎‎ في jQuery

‎.removeAttr( attributeName )‎ القيم المعادة يعيد كائنًا من النوع jQuery. الوصف يحذف هذا التابع خاصِّيَّة HTML محدَّدة لكل عنصر في مجموعة العناصر المطابقة. ‎.removeAttr( attributeName )‎ أُضيف مع الإصدار: 1.0. attributeName سلسلة نصِّيَّة تمثِّل اسم خاصِّيَّة HTML المراد حذفها. ابتداءً من الإصدار 1.7، يمكن أن تحتوي السلسلة النصِّيَّة على قائمة من الخاصِّيَّات المفصولة بفراغ. يستخدم التابع ‎.removeAttr()‎ الدالة removeAttribute()‎ الموجودة في JavaScript، ولكنَّه يتميز عنها بأنَّه يمكن أن يُستدعَى مع الكائن jQuery مباشرةً ويأخذ بالحسبان التسمية المختلفة للخاصِّيَّات عبر المتصفحات. ...

التابع ‎‎jQuery.unique()‎‎ في jQuery

jQuery.unique( array )‎ أهمل مع الإصدار: 3.0. القيم المعادة يعيد مصفوفة (Array). الوصف يرتِّب هذا التابع مصفوفةً من عناصر DOM، في مكانها، مع حذف العناصر المتكرِّرة. انتبه إلى أنَّ هذا التابع لا يصلح للعمل إلا مع المصفوفات التي تحوي عناصر DOM فقط. jQuery.unique( array )‎ أُضيف مع الإصدار: 1.1.3. array مصفوفةٌ من عناصر DOM. بدءًا من الإصدار jQuery 3.0، أهمل هذا التابع وأصبح اسمًا بديلًا للتابع jQuery.uniqueSort()‎. استَعمِل رجاءً التابع الأخير عوضًا عن هذا التابع. يرتِّب التابع ‎$.unique()‎ مصفوفةً من ...

Document.createDocumentFragment()‎

يُنشئُ التّابع Document.createDocumentFragment()‎ كائنا فارغًا من النّوع DocumentFragment. البنية العامة var fragment = document.createDocumentFragment(); fragment مرجِع يُشير إلى كائن فارغ من النّوع DocumentFragment. وصف كائنات DocumentFragment هي عقدُ DOM. ولا تكون أبدًا جزءًا من شجرة DOM الأساسيّة. الغرض منها يكون عادةً إنشاء قطعة مُستندٍ (document fragment) ثمّ إضافة عناصرَ إليها، ثمّ إضافة قطعة المُستند إلى شجرة DOM. وتُبدَلُ قطعة المستند في شجرة DOM بجميع أولادها. ولأنّ قطعة المُستند تُخزَّن في الذّاكرة ولا تكون جزءًا من شجرة DOM الرّئيسيّة، فإضافة أولاد ...

Date.prototype.setSeconds()‎

الدالة Date.prototype.setSeconds()‎ تضبط الثواني للتاريخ المُحدَّد وفقًا للتوقيت المحلي. البنية العامة dateObj.setSeconds(secondsValue[, msValue]) في الإصدارات التي تسبق JavaScript 1.3: dateObj.setSeconds(secondsValue) secondsValue عددٌ صحيحٌ يُمثِّل عدد الثواني من الوقت بين 0 و 59. msValue قيمةٌ اختياريةٌ، وهي عددٌ صحيحٌ يُمثِّل عدد الملي ثانية من الوقت بين 0 و 999. القيمة المعادة كم ملي ثانية قد مضت بدءًا من ‎1 January 1970 00:00:00 UTC للتاريخ المعطى (وستُغيّر قيمة الكائن Date أيضًا). الوصف إذا لم تُحدَّد قيمة للمعامل msValue فستُستخدَم القيمة المُعادة من الدالة  getMilliseconds()‎. إذا ...

توافقية الأنواع في TypeScript

مقدمة توافقيّة الأنواع في TypeScript مبنيّةٌ على التحقق من الأنواع الفرعيّة هيكليًّا (structural subtyping). والتحقّق من الأنواع هيكليًّا طريقةٌ للربط بين الأنواع حسب عناصرها فقط لا غير. وهذا مُعاكسٌ للتحقق من الأنواع اسميًّا (nominal typing). انظر الشيفرة التالية: interface Named { name: string; } class Person { name: string; } let p: Named; // هذا مسموح به بسبب التحقق من الأنواع هيكليًّا p = new Person(); في اللغات المعتمدة على التحقق من الأنواع اسميًّا مثل لغة C#‎ أو Java، فالشيفرة ...

Function.prototype.call()‎

الدالة Function.prototype.call()‎ تستدعي دالةً وتضبط قيمة this فيها إلى القيمة المعطية، وستُوفَّر الوسائط التي ستُمرَّر إليها كقائمة. ملاحظة: صحيحٌ أنَّ البنية العامة لهذه الدالة تكاد تماثل بينة الدالة apply()‎، لكن الفرق الرئيسي بينهما هو أنَّ الدالة apply()‎ تقبل مصفوفةً واحدةً تحتوي على الوسائط، بينما call()‎ تقبل قائمةً بالوسائط التي تُمرَّر إلى الدالة. البنية العامة function.call([thisArg, arg1, arg2, ...]) thisArg وسيطٌ اختياري، وهو يُمثِّل قيمة المعامل this التي ستُستعمل في الدالة function، لاحظ أنَّ قيمة this المُمرَّرة لا تعني بالضرورة أنَّها ...

الصنف ‎:first

الصنف الزائف ‎:first في CSS (أي pseudo-class) يُستعمَل مع القاعدة ‎@page، ويُمثِّل أوّل صفحة من المستند عند طباعته. @page :first { margin-left: 50%; margin-top: 50%; } ملاحظة: لا يمكن تغيير قيم جميع خاصيات CSS عند استخدام هذا الصنف الزائف، وإنما يمكن تغيير قيم الهوامش margin واليتامى orphans والأرامل widows وطريقة الانتقال إلى صفحة جديدة؛ وسيتم تجاهل جميع الخاصيات الأخرى. الشكل العام لهذا المحدد: :first أمثلة لاحظ كيف ستتغير الهوامش في الصفحة الأولى عند طباعتها: <p>الصفحة الأولى</p> <p>الصفحة الثانية</p> <button>طباعة!</button> شيفرة CSS: @page :first ...

Function.prototype.bind()‎

الدالة Function.prototype.bind()‎ تُنشِئ دالةً جديدةً التي عند استدعائها ستُضبَط قيمة المعامل this إلى القيمة المعطية، وستُوفَّر إليها قائمة المعاملات التي تلي قيمة المعامل this. البنية العامة fun.bind(thisArg[, arg1[, arg2[, ...]]]) thisArg وسيطٌ يُمثِّل قيمة المعامل this التي ستُستعمل في الدالة func عند استدعائها، لاحظ أنَّ JavaScript ستتجاهل هذه القيمة إذا استدعيت الدالة كدالة بانية باستخدام المعامل new. arg1, arg2, ...‎ الوسائط التي ستُرفَق مع الوسائط المُمرَّرة إلى الدالة عند استدعائها. القيمة المعادة نسخة من الدالة المعطية مع قيمة this المُخصَّصة ...

الأخطاء في Node.js

ستواجه التطبيقات التي تعمل في Node.js عمومًا أربع فئات من الأخطاء هي: أخطاء JavaScript القياسية مثل <EvalError>، و <SyntaxError>، و <RangeError>، و <ReferenceError>، و <TypeError>، و <URIError>. أخطاء النظام التي أُطلقَت بوساطة قيود نظام التشغيل الضمنيَّة (operating system constraints) مثل محاولة فتح ملف غير موجود أو محاولة إرسال بيانات عبر مقبسٍ مغلق. أخطاء محددة من طرف المستخدم تُطلَق عبر شيفرة التطبيق. أخطاء التوكيد AssertionError‎ وهي صنفٌ مخصصٌ من الأخطاء يُطلَق عندما تكتشف Node.js مخالفة منطقية استثنائية لا يجب أن تحدث ...

العنصر

يُنشِئ العنصر <a> (اسمه اختصار للكلمة anchor) رابطًا فائقًا (hyperlink) لصفحات الويب الأخرى أو للملفات أو لأقسم الصفحة الحالية أو لعناوين البريد الإلكتروني. المثال الآتي فيه رابط إلى موقع خارجي: <a href="http://www.hsoub.com/"> شركة حسوب </a> بطاقة العنصر تصنيفات المحتوى عنصر تنظيمي أو عنصر عادي. المحتوى المسموح محتوى تنظيمي أو عادي. الوسم المختصر لا يمكن حذف أيّ من وسمَي البداية أو النهاية. العناصر الأب أي عنصر باستنثاء عنصر <a> آخر. واجهة DOM HTMLAnchorElement دعم المتصفحات Chrome Firefox Edge Safari Opera مدعوم مدعوم مدعوم ...

Date.prototype.toDateString()‎

الدالة Date.prototype.toDateString()‎ تعيد قسم التاريخ من كائن Date كسلسلة نصية سهلة القراءة من البشر. البنية العامة dateObj.toDateString() القيمة المعادة سلسلة نصية تُمثِّل قسم التاريخ من كائن Date. الوصف كائنات Date تُشير إلى لحظة زمنية معيّنة، واستدعاء الدالة toString()‎ سيُعيد التاريخ كسلسلة نصية سهلة القراءة من البشر، وهو يتألف من قسم التاريخ (اليوم والشهر والسنة) متبوعًا بقسم الوقت (الساعات والدقائق والثواني والمنطقة الزمنية)؛ لكن في بعض الأحيان من الأفضل الحصول على قسم التاريخ فقط دونًا عن الوقت، وذلك باستخدام الدالة toDateString()‎. ...

Function.caller

الخاصية Function.caller تُعيد الدالة التي استدعت الدالة التي تُنفَّذ حاليًا. لا يجوز استخدام هذه الخاصية في نمط strict. الوصف إذا لم تُستدعَ الدالة f ضمن دالة أخرى (أي أنها استدعيت في أعلى مستوى top level)، فقيمة الخاصية f.caller هي null. هذه الخاصيةُ هي بديلٌ عن الخاصية المحذوفة arguments.caller التابعة للكائن arguments. لاحظ أنَّه في حالة الاستدعاء التعاودي (recursion)، فلا يمكننا إعادة بناء مكدس الاستدعاءات (call stack) باستخدام هذه الخاصية. فلتكن لدينا الشيفرة: function f(n) { g(n - 1); } function g(n) ...

String.prototype.length

الخاصية length التابعة لكائنات String تُشير إلى طول السلسلة النصية، وذلك بعدّ عدد رموز UTF-16. البنية العامة str.length الوصف هذه الخاصية تُعيد عدد رموز المحارف (code points) الموجودة في السلسلة النصية. لاحظ أنَّ ترميز UTF-16 هو الصيغة المستخدم في JavaScript، وهو يستخدم 16-بت لتمثيل المحارف الشائعة، لكنه يحتاج إلى أكثر من بايت لتمثيل المحارف الأقل شيوعًا، لذا من الممكن ألّا تساوي القيمة المُعادة من الخاصية length عدد المحارف الفعلية الموجودة في السلسلة النصية. حدَّد معيار ECMAScript 2016 (أي ES7) طولًا ...

Number.NEGATIVE_INFINITY

الخاصية Number.NEGATIVE_INFINITY تُمثِّل أصغر قيمة عددية قابلة للتمثيل في JavaScript. سمات الخاصية Number.NEGATIVE_INFINITY قابلة للكتابة لا قابلة للإحصاء لا قابلة للضبط لا الوصف قيمة الخاصية Number.NEGATIVE_INFINITY هي نفسها القيمة السالبة لخاصية الكائن العام Infinity. لكن سلوك هذه القيمة يختلف اختلافًا بسيطًا عن اللانهاية الرياضية: أيّة قيمة موجبة، بما في ذلك POSITIVE_INFINITY، مضروبة بالقيمة NEGATIVE_INFINITY هي NEGATIVE_INFINITY. أيّة قيمة سالبة، بما في ذلك NEGATIVE_INFINITY، مضروبة بالقيمة NEGATIVE_INFINITY  هي POSITIVE_INFINITY. أيّة قيمة موجبة مقسومة على NEGATIVE_INFINITY هي صفر سالب. أيّة قيمة سالبة مقسومة ...

Date.prototype.setMinutes()‎

الدالة Date.prototype.setMinutes()‎ تضبط الدقائق (0-59) للتاريخ المُحدَّد وفقًا للتوقيت المحلي. البنية العامة dateObj.setMinutes(minutesValue[, secondsValue[, msValue]]) في الإصدارات التي تسبق JavaScript 1.3: dateObj.setMinutes(minutesValue) minutesValue عددٌ صحيحٌ يُمثِّل عدد الدقائق من الوقت بين 0 و 59. secondsValue قيمةٌ اختياريةٌ، وهي عددٌ صحيحٌ يُمثِّل عدد الثواني من الوقت بين 0 و 59. msValue قيمةٌ اختياريةٌ، وهي عددٌ صحيحٌ يُمثِّل عدد الملي ثانية من الوقت بين 0 و 999. إذا حدّدت قيمةً للمعامل msValue فيجب أن تضبط قيمة secondsValue أيضًا. القيمة المعادة كم ملي ثانية ...

Number.POSITIVE_INFINITY

الخاصية Number.POSITIVE_INFINITY تُمثِّل أصغر قيمة عددية قابلة للتمثيل في JavaScript. سمات الخاصية Number.POSITIVE_INFINITY قابلة للكتابة لا قابلة للإحصاء لا قابلة للضبط لا الوصف قيمة الخاصية Number.POSITIVE_INFINITY هي نفسها قيمة خاصية الكائن العام Infinity. لكن سلوك هذه القيمة يختلف اختلافًا بسيطًا عن اللانهاية الرياضية: أيّة قيمة موجبة، بما في ذلك POSITIVE_INFINITY، مضروبة بالقيمة POSITIVE_INFINITY هي POSITIVE_INFINITY. أيّة قيمة سالبة، بما في ذلك NEGATIVE_INFINITY، مضروبة بالقيمة POSITIVE_INFINITY  هي NEGATIVE_INFINITY. أيّة قيمة موجبة مقسومة على POSITIVE_INFINITY هي صفر موجب. أيّة قيمة سالبة مقسومة على ...

Date.prototype.toTimeString()‎

الدالة Date.prototype.toTimeString()‎ تعيد قسم الوقت من كائن Date كسلسلة نصية سهلة القراءة من البشر. البنية العامة dateObj.toTimeString() القيمة المعادة سلسلة نصية تُمثِّل قسم الوقت من كائن Date بصيغة American English. الوصف كائنات Date تُشير إلى لحظة زمنية معيّنة، واستدعاء الدالة toString()‎ سيُعيد التاريخ كسلسلة نصية سهلة القراءة من البشر، وهو يتألف من قسم التاريخ (اليوم والشهر والسنة) متبوعًا بقسم الوقت (الساعات والدقائق والثواني والمنطقة الزمنية)؛ لكن في بعض الأحيان من الأفضل الحصول على قسم الوقت فقط دونًا عن التاريخ، وذلك ...

العنصر

يُمثِّل العنصر <output> ناتج عملية حسابية أو أحد أفعال المستخدم. مثال تفاعلي (باستخدام شيفرة JavaScript) يُستخدَم فيه العنصر <output> لإظهار ناتج عملية حسابية يجريها المستخدم: <form oninput="result.value = parseInt(a.value) + parseInt(b.value)"> <input type="range" name="b" value="50"> + <input type="number" name="a" value="10"> = <output name="result">60</output> </form> بطاقة العنصر تصنيفات المحتوى عنصر تنظيمي، وعنصر عادي، وعنصر مرتبط بالنماذج. المحتوى المسموح المحتوى العادي. الوسم المختصر لا يمكن حذف أيّ من وسمَي البداية أو النهاية. العناصر الأب أي عنصر يقبل المحتوى العادي. واجهة ...

المحدد ‎‎‎:nth-of-type()‎‎ في jQuery

المحدد ()‎:nth-of-type الوصف يختار هذا المحدِّد عناصر ذات موقع محدد ضمن مجموعة من العناصر الأخوة (أي جميعها أبناء لعناصر أخرى) التي لها اسم العنصر ذاته. jQuery( ":nth-of-type(index/even/odd/equation)" )‎ أُضيف مع الإصدار: 1.9. index فهرس العنصر الابن المراد مطابقته، ويبدأ العد من القيمة 1 بدءًا من بداية المجموعة (أي فهرس أول عنصر في المجموعة هو 1). ويمكن استعمال الكلمة المحجوزة even التي تُمثِّل العناصر التي يكون ترتيبها بين إخوتها فرديًا، أو الكلمة المحجوزة odd التي تُمثِّل العناصر التي يكون ترتيبها بين ...

التابع jQuery.data()‎‎ في jQuery

يخزِّن هذا التابع بيانات اعتباطيَّة متعلقة بعنصر محدَّد أو يعيد القيمة التي خُزِّنت لهذا العنصر. jQuery.data( element, key, value )‎ القيم المعادة يعيد كائنًا من النوع Object. الوصف يخزِّن هذا التابع بيانات اعتباطيَّة ويقرنها بعنصر محدَّد، ويعيد القيمة التي ضُبِطَت. jQuery.data( element, key, value )‎ أُضيف مع الإصدار: 1.2.3. element العنصر DOM الذي يراد ربط البيانات به. key سلسلة نصية تمثِّل الاسم الذي ستسمى البيانات المخزَّنة به. value أي شيء (وهو نوع افتراضي مُستخدَم في jQuery للإشارة إلى إمكانيَّة استعمال ...

التابع jQuery.data()‎‎ في jQuery

يخزِّن هذا التابع بيانات اعتباطيَّة متعلقة بعنصر محدَّد أو يعيد القيمة التي خُزِّنت لهذا العنصر. jQuery.data( element, key, value )‎ القيم المعادة يعيد كائنًا من النوع Object. الوصف يخزِّن هذا التابع بيانات اعتباطيَّة ويقرنها بعنصر محدَّد، ويعيد القيمة التي ضُبِطَت. jQuery.data( element, key, value )‎ أُضيف مع الإصدار: 1.2.3. element العنصر DOM الذي يراد ربط البيانات به. key سلسلة نصية تمثِّل الاسم الذي ستسمى البيانات المخزَّنة به. value أي شيء (وهو نوع افتراضي مُستخدَم في jQuery للإشارة إلى إمكانيَّة استعمال ...

الواجهات في TypeScript

مقدّمة تركيز التحقق من الأنواع (type-checking) على شكل (shape) القيم من مبادئ TypeScript الأساسية. يُصطلَح عليه أحيانًا بالتعبير duck typing أو التحقق من الأنواع الفرعيّة هيكليًّا (structural subtyping). تعمل الواجهات في TypeScript على تسمية هذه الأنواع، وهي طريقة قويّة لتعريف عقود (contracts) داخل شيفرتك أو عقود مع شيفرةٍ خارج مشروعك. واجهة بسيطة لنبدأ بمثال بسيط لنفهم كيفيّة عمل الواجهات: function printLabel(labelledObj: { label: string }) { console.log(labelledObj.label); } let myObj = {size: 10, label: "Size 10 Object"}; printLabel(myObj); سيتحقّق مدقّق ...

Document.domain

تُستعمل للحصول على نطاقِ أصلِ المُستند الحالي أو ضبطه. وذلك حسب سياسة الأصل الواحد (same origin policy). البنية العامة var domainString = document.domain; document.domain = string; مثال // للمُستند // www.example.xxx/good.html // يُغلق هذا البرنامج النّافذة var badDomain = "www.example.xxx"; if (document.domain == badDomain) { window.close(); // هذا مُجرّد مثال، إذ أنّ هذا السّطر لا يقوم بأي شيء في بعض الأحيان } // إن كان الرّابط مثلا // https://wiki.hsoub.com/JavaScript/Document // فستُضبط القيمة التّاليّة للمُتغيّر // "wiki.hsoub.com" var domain = document.domain; ملاحظات تُعيد هذه الخاصيّة القيمة null في حالة ...

Function.prototype.toString()‎

الدالة Function.prototype.toString()‎ تعيد سلسلةً نصيةً لتمثيل الشيفرة المصدرية للدالة. البنية العامة function.toString() القيمة المعادة سلسلة نصية تُمثِّل الشيفرة المصدرية للدالة. الوصف يُعيد الكائن Function تعريف الدالة toString الموروثة من الكائن Object؛ وستُعيد هذه الدالة، عند استدعائها على الدوال التي عرَّفها المستخدم، سلسلةً نصيةً للشيفرة المصدرية التي تُستخدَم لتعريف الدوال. ستستدعي JavaScript هذه الدالة تلقائيًا عند محاولة استخدام الدالة كقيمة نصية، مثلًا: عند إضافة سلسلة نصية إلى الدالة. استدعاء الدالة toString على دوال الكائنات المُضمَّنة في اللغة أو على الدوال المُنشَأة ...

المحدد ‎‎‎("#id")‎ ID في jQuery

المحدد ID الوصف يختار هذا المحدد العنصر الذي يمتلك المعرف id المعطى. jQuery( "#id" )‎ أضيف مع الإصدار: 1.0. id المعرف المراد البحث عنه، والذي يُمنح للعنصر عبر الخاصية id. تستعمل محددات المعرف (ID selectors) في مكتبة jQuery الدالة document.getElementById()‎ في JavaScript. عندما يضاف محدد آخر لمحدد المعرف، مثل h2#pageTitle، فستتحقق jQuery مجددًا من العناصر بناءًا على المحدد المضاف قبل أن تختار العنصر المطابق. عند استدعاء jQuery()‎ (أو ()$) بتمرير المحدد id كمعامل، فستعيد كائنًا من النوع jQuery يحتوي على ...

Document.lastModified

تُعيد الخاصية document.lastModified سلسلةً نصيةً تحتوي على تاريخ ووقتِ آخر تعديلٍ للمُستند الحاليّ. البنية العامة string = document.lastModified; مثال طريقة الاستعمال البسيطة: alert(document.lastModified); // يُعيد تاريخا مُشابها لما يلي // 03/22/2018 05:20:48 تحويل قيمة lastModified إلى كائن من النّوع Date: var oLastModif = new Date(document.lastModified); تحويل قيمة lastModified إلى عدد الأجزاء من ألف جزء من الثّانيّة التّي مرّت منذ 1 يناير 1970 على السّاعة 00:00:00: var nLastModif = Date.parse(document.lastModified); ملاحظات لاحظ بأنّه لا يُمكن استعمال السّلسة النّصيّة التي تُعيدها الخاصيّة lastModified ...

قوالب Blade في Laravel

مقدمة يقدم Laravel محرّك قولبةٍ بسيطاً لكن قويٌّ و فعّال هو Blade. على خلاف محرّكات PHP أخرى، لا يمنع Blade المستخدم من استعمال شيفرات PHP في الواجهة، بل إنّه يحوِِّل صفحات Blade إلى شيفرة PHP ويخزِّنها تخزينًا مؤقتًا إلى حين تغييرها. ممّا يعني أنّ Blade لا يتطلب أيّ جهد أو وقت إضافي من التطبيق. تنتهي صفحات Blade بالامتداد blade.php. وتوجد عادة في مجلد resources/views. توريث القوالب تعريف التخطيط إنّ من الفوائد الأساسية لاستخدام Blade هي توريث القوالب (template inheritance) واستخدام ...

قوالب Blade في Laravel

مقدمة يقدم Laravel محرّك قولبةٍ بسيطاً لكن قويٌّ و فعّال هو Blade. على خلاف محرّكات PHP أخرى، لا يمنع Blade المستخدم من استعمال شيفرات PHP في الواجهة، بل إنّه يحوِِّل صفحات Blade إلى شيفرة PHP ويخزِّنها تخزينًا مؤقتًا إلى حين تغييرها. ممّا يعني أنّ Blade لا يتطلب أيّ جهد أو وقت إضافي من التطبيق. تنتهي صفحات Blade بالامتداد blade.php. وتوجد عادة في مجلد resources/views. توريث القوالب تعريف التخطيط إنّ من الفوائد الأساسية لاستخدام Blade هي توريث القوالب (template inheritance) واستخدام ...

الحقل week

عناصر <input> ذات النوع week تُنشِئ حقل إدخال يسمح بانتقاء السنة ورقم الأسبوع في السنة (من الأسبوع 1 إلى 52). شكل هذا الحقل يختلف من متصفح إلى متصفح، فالدعم الحالي ليس مثاليًا، فالوضع الحالي لهذا الحقل في متصفحات Chrome و Opera و Edge ومتصفحات الهواتف المحمولة لا بأس به، وسيُعرَض كحقل نصي في المتصفحات التي لا تدعمه: <input type="week" name="week"> سيبدو هذا الحقل كما في الصورة الآتية في متصفحَي Chrome و Opera، الضغط على السهم سيؤدي إلى إظهار نافذة منتقي التاريخ: ...

الدالة json_decode()‎ في PHP

(PHP 5 >= 5.2.0, PHP 7, PECL json >= 1.2.0) تفك الدالة json_decode()‎ ترميز سلسلة نصية بصيغة JSON. الوصف mixed json_decode ( string $json [, bool $assoc = FALSE [, int $depth = 512 [, int $options = 0]]] ) تأخذ سلسلة مُرمَّزة بصيغة JSON وتحوِّلها إلى مُتغيِّر PHP. المعاملات json سلسلة نصية بصيغة JSON التي سيُفكُّ ترميزها. تعمل هذه الدّالّة مع سلاسل نصّيّة مُرمَّزة بترميز UTF-8 فقط. ملاحظة: تعتمد PHP مجموعة عُليا من JSON كما هو مُحدَّد في المعيار ...

التابع ‎.trigger()‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQuery

‎.trigger( eventType [, extraParameters ] )‎ القيمة المعادة يُعيد كائنًا من النوع jQuery. الوصف تنفيذ جميع المعالجات والسلوكيات المرفقة بالعناصر المطابقة لنوع الحدث المُدخَل. ‎.trigger( eventType [, extraParameters ] )‎ أُضيف مع الإصدار: 1.0. eventType سلسلة نصية من النوع String تحتوي على نوع حدث JavaScript، مثل click أو submit . extraParameters معاملات إضافية لتمريرها إلى معالج الحدث وهي تكون من النوع Array أو PlainObject. ‎.trigger( event [, extraParameters ] )‎ أُضيف مع الإصدار: 1.3. event كائن jQuery.Event من النوع Event. ...

معالجة الأحداث في React

تُشبه معالجة الأحداث لعناصر React معالجة الأحداث لعناصر DOM، ولكن هنالك فروق تتعلّق بالصياغة: تُسمَّى أحداث React باستخدام حالة الأحرف camelCase (أي عند وجود اسم مؤلف من عدة كلمات نجعل الحرف الأول من الكلمة الأولى بالشكل الصغير أمّا باقي الكلمات نجعل حرفها الأول بالشكل الكبير) بدلًا من استخدام الشكل الصغير للأحرف. نُمرِّر في JSX دالة كمُعالِج للأحداث، بدلًا من سلسلة نصيّة. على سبيل المثال لنأخذ شيفرة HTML التالية: <button onclick="activateLasers()"> تفعيل الليزر </button> تكون الشيفرة السابقة مختلفة قليلًا في React: <button ...

التصيير السطحي (Shallow Rendering) في React

الاستيراد import ShallowRenderer from 'react-test-renderer/shallow'; // ES6 var ShallowRenderer = require('react-test-renderer/shallow'); // ES5 with npm لمحة عامة عند كتابة وحدات اختبار لمكتبة React يكون التصيير السطحي مفيدًا لك. يُتيح لك التصيير السطحي تصيير مكوّن على عمق مستوى واحد وتوضيح الحقائق حول ما يُعيده تابع التصيير، بدون القلق حول سلوك المكوّنات الأبناء والتي لم تُصيَّر أو ينشأ عنها نسخة. لا يحتاج ذلك إلى DOM. على سبيل المثال إن كان لديك المكوّن التالي: function MyComponent() { return ( <div> ...

Document.caretPositionFromPoint()‎

تنبيه: هذه تقنيّة تجريبيّة، انظر جدول دعم المتصفّحات قبل استخدام هذا التّابع في شيفرة إنتاجيّة. يعيد التّابع Document.caretPositionFromPoint‎()‎ كائنًا من النّوع CaretPosition يحتوي على عقدة DOM ومكان علامة الإقحام (caret) وحدود محارف (character offset) العلامة داخل هذه العقدة. البنية العامة var caretPosition = document.caretPositionFromPoint(float x, float y); المعاملات x الإحداثيّ الأفقيّ لنقطة ما. y الإحداثيّ العمودي لنقطة ما. القيمة المعادة كائن من النّوع CaretPosition. مثال يقوم المثال التّالي بإدخال فراغ سطريً (line break) أينما ضغطت. جزء HTML: <p>Lorem ipsum dolor ...

الصنف ‎:fullscreen

الصنف الزائف ‎:fullscreen في CSS (أي pseudo-class) يُمثِّل العناصر التي تُعرَض عندما يكون المتصفح في وضع ملء الشاشة. div:-moz-full-screen { background-color: pink; } div:-webkit-full-screen { background-color: pink; } div:fullscreen { background-color: pink; } لاحظ أنَّ مواصفة W3C تستخدم الكلمة المحجوزة ‎:fullscreen دون شرطة بين الكلمتين، لكن متصفحات WebKit و Gecko تستخدم سابقة مع تلك الكلمة مع وضع شرطة بين full و screen كما في ‎:-webkit-full-screen و ‎:-moz-full-screen، أما متصفحَي Edge و IE فيستعملان ‎:fullscreen و ‎:-ms-fullscreen على التوالي وبالترتيب. الشكل العام لهذا المحدد: ...

DOM الافتراضي والكائنات الداخلية في React

ما هو DOM الافتراضي (Virtual DOM)؟ DOM الافتراضي (أو اختصارًا VDOM) هو مفهوم برمجي نحتفظ فيه بالتمثيل المثالي أو الافتراضي لواجهة المستخدم ضمن الذاكرة مع مزامنته مع DOM الحقيقي عن طريق مكتبة مثل React DOM. تُدعى هذه العمليّة بالمطابقة (reconciliation). تُمكِّن هذه الطريقة واجهة برمجة التطبيق التصريحية في React، حيث تُخبِر React الحالة التي تريد أن تكون بها واجهة المستخدم لديك، فتحرص React على مطابقة DOM مع تلك الحالة. يُجرِّد هذا التعامل مع الخاصيّات، ومعالجة الأحداث، وتحديث DOM اليدوي الذي ...

التابع ‎.delay()‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQuery

‎.delay( duration [, queueName ] )‎ القيمة المعادة يُعيد كائنًا من النوع jQuery. الوصف يضبط هذا التابع مؤقِّت لتأجيل تنفيذ العناصر التالية في طابور (queue) الانتظار. ‎.delay( duration [, queueName ] )‎ أُضيف مع الإصدار: 1.4. duration عدد صحيح يشير إلى مدة تأخير تنفيذ العنصر التالي في طابور (queue) الانتظار بالمللي ثانية. queueName سلسلة نصية تحتوي على اسم قائمة الانتظار التأثيرات القياسية. قيمتها الافتراضية fx. يسمح لنا التابع ‎.delay()‎ بتأخير تنفيذ الدوال التي تتبعه في طابور (queue) الانتظار. ويمكن استخدامه ...

التابع ‎.triggerHandler()‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQuery

‎.triggerHandler( eventType [, extraParameters ] )‎ القيمة المعادة يُعيد كائنًا من النوع Object. الوصف تنفيذ كافة معالجات الأحداث التي تتعلق على عنصرٍ لحدث. ‎.triggerHandler( eventType [, extraParameters ] )‎ أُضيف مع الإصدار: 1.2. eventType سلسلة نصية من النوع String تحتوي على نوع حدث JavaScript، مثل click أو submit . extraParameters معاملات إضافية لتمريرها إلى معالج الحدث وهي تكون من النوع Array أو PlainObject. ‎.triggerHandler( event [, extraParameters ] )‎ أُضيف مع الإصدار: 1.3. event كائن jQuery.Event من النوع Event. extraParameters ...

Date.prototype.setHours()‎

الدالة Date.prototype.setHours()‎ تضبط الساعة (0-23) للتاريخ المُحدَّد وفقًا للتوقيت المحلي. وتُعيد كم ملي ثانية قد مضت بدءًا من ‎1 January 1970 00:00:00 UTC للتاريخ المعطى (وستُغيّر قيمة الكائن Date أيضًا). البنية العامة dateObj.setHours(hoursValue[, minutesValue[, secondsValue[, msValue]]]) في الإصدارات التي تسبق JavaScript 1.3: dateObj.setHours(hoursValue) hoursValue عددٌ صحيحٌ يُمثِّل الساعة من اليوم بين 0 و 23. minutesValue قيمةٌ اختياريةٌ، وهي عددٌ صحيحٌ يُمثِّل عدد الدقائق من الوقت بين 0 و 59. secondsValue قيمةٌ اختياريةٌ، وهي عددٌ صحيحٌ يُمثِّل عدد الثواني من الوقت بين 0 و ...

المنقح Debugger في Node.js

درجة الثبات: 2 - مستقر كثيرًا ما نحتاج لتنقيح الشيفرات ومراجعتها من الأخطاء، لذلك يتضمن Node.js أداة تنقيح مستقلة يمكن الوصول إليها من خلال محقق V8 inspector وعميل تنقيح مدمج. لاحظ أن عميل تنقيح Node.js هنا هو أداة بسيطة وليست منقّحًا كامل الخصائص، لكنها تكفي في حالة تفحص خطوات تنفيذ الشيفرة. سنستخدم في مثالنا هذا ملف myscript: // myscript.js ‎global.x = 5; setTimeout(() => {  console.log('world'); }, 1000)‎; console.log('hello'); كما ترى، المثال المستخدم هنا بسيط، حيث يبدأ في السطر الأول بتحديد متغير عام x بقيمة 5، ...

اختبارات المتصفح (Laravel Dusk) في Laravel

مقدمة يوفّر لك Laravel Dusk أتمتة للمتصفّح واختبار للواجهات البرمجيّة بطريقة سهلة الاستخدام. بشكلٍ افتراضي، لا يتطلّب Dusk تنصيب JDK أو Selenium على جهازك، حيث يستعمل تثبيت مستقل (standalone) لبرمجية ChromeDriver. بأي حال، يمكنك استخدام أي برنامج تشغيل متوافق مع Selenium إذا أردت. التثبيت للبدء، أضف الاعتمادية laravel/dusk إلى مشروعك: composer require --dev laravel/dusk بعد تثبيت Dusk، سجّل مزوّد الخدمة الذي يتبع إلى Dusk، وهو Laravel\Dusk\DuskServiceProvider. بشكل عام، يكون هذا تلقائيًّا باستخدام التسجيل التلقائي لمزوّدات خدمة Laravel. تنبيه: إذا قمت بتسجيل ...

الحقل month

عناصر <input> ذات النوع month تُنشِئ حقل إدخال يسمح بانتقاء السنة والشهر بسهولة. شكل هذا الحقل يختلف من متصفح إلى متصفح، فالدعم الحالي ليس مثاليًا (راجع قسم دعم المتصفحات لمزيدٍ من المعلومات)، لكن هذا الحقل سيُعرَض كحقل نصي في المتصفحات التي لا تدعمه: <input type="month" name="month"> سيبدو هذا الحقل كما في الصورة الآتية في متصفحَي Chrome و Opera: لقطة لكيفية عرض الحقل month في متصفحَي Chrome و Opera. أما في متصفح Edge فسيبدو الحقل كما يلي: لقطة لكيفية عرض الحقل month ...

الوحدة Query String في Node.js

توفر الوحدة querystring مجموعة من الأدوات لتحليل وتنسيق سلاسل الاستعلامات في الروابط (URL query strings). يُمكِن استيراد الوحدة والبدء باستخدامها عبر تنفيذ: const querystring = require(‘querystring’); querystring.escape(str)‎ أُضيفَ في الإصدار 0.1.25. str من النوع <string>. يرمِّز هذا التابع المحارِف المُمرَّرة للمُعامِل الأوَّل str بترميز النسبة المئويّة لتحويله إلى سلسلة استعلامات صالحة. مثال: querystring.escape("foo=bar&bar=foo"); // 'foo%3Dbar%26bar%3Dfoo' يُستخدَم التابع querystring.escape()‎ عبر التابع querystring.stringify()‎ ولا يتوقع منه أن يستدعى مباشرةً. يُستخدَم هذا التابِع عادةً لتوفير آلية بديلة تقوم بعمليّة ترميز النسبة المئويّة إن لزم الأمر. ...

Object.create()‎

الدالة Object.create()‎ تُنشِئ كائنًا جديدًا له كائن prototype مُحدَّد، وتكون خاصياته معطية. البنية العامة Object.create(proto[, propertiesObject]) proto الكائن الذي يجب أن يُسنَد إلى خاصية prototype للكائن المُنشأ. propertiesObject هذا الوسيط اختياريٌ، وإذا حُدِّدَت قيمته ولم تكن undefined، فهو كائنٌ فيه خاصياتٌ تابعةٌ له وقابلةٌ للإحصاء تُحدِّد واصفات الخاصيات (property descriptors) التي ستُضاف إلى الكائن المُنشَأ والتي سترتبط بأسماء الخاصيات. وهذه الخاصيات تشبه الوسيط الثاني المُمرَّر إلى الدالة Object.defineProperties()‎ (ارجع إلى تلك الصفحة إن وجدتَ الكلام السابق غامضًا). القيمة المعادة كائن ...

الدليل التطبيقي

لا يفترض هذا الدليل أي معرفة مسبقة بمكتبة React. قبل أن نبدأ بالدليل التطبيقي سنبني لعبة صغيرة خلال هذا الدليل التطبيقي. ربّما قد ترغب بتخطي هذا الدليل لأنّك لا تريد بناء الألعاب، ولكن أعطيها فرصة. إنّ التقنيات التي ستتعلمها في هذا الدليل أساسيّة لبناء أي تطبيق React، وسيعطيك إتقانها فهمًا أعمق لمكتبة React. فائدة: هذا الدليل مُصمَّم للأشخاص الذين يُفضّلون التعلّم بالممارسة. إن كنت تُفضّل تعلّم المفاهيم من البداية فارجع إلى توثيق React من البداية خطوة بخطوة. قد تجد هذا ...

الوحدة Stream

الاستقرار: 2-مستقر المجرى هو واجهة مجرّدة للعمل مع البيانات المتدفقة في Node.js. توفّر الوحدة stream واجهة برمجية (API) أساسية تجعل من السهل بناء كائنات تتعامل مع واجهة المجرى. يوجد العديد من كائنات المجرى التي توفرها Node.js. على سبيل المثال، http.IncomingMessage (طلبيات الخادم HTTP) و process.stdout هما نسخ من الصنف stream. يمكن أن تكون المجاري قابلة للقراءة (readable)، أو قابلة للكتابة (writable)، أو كليهما. كل المجاري هي نسخ من الصنف EventEmitter. يمكن الوصول إلى الوحدة stream باستخدام: const stream = require('stream'); لمَّا ...

تأمين تطبيقات ريلز

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

String.prototype.codePointAt()‎

الدالة String.prototype.codePointAt()‎ تُعيد عددًا صحيحًا موجبًا الذي يُمثِّل رمز يونيكود للمحرف الموجود في الموضع المعيّن. البنية العامة str.codePointAt(index) index موضع العنصر من السلسلة النصية التي نريد معرفة رمز يونيكود الخاص بها. القيمة المعادة قيمة عددية تُمثِّل رمز المحرف الموجود عند الفهرس المُحدَّد، وإذا كانت قيمة الوسيط index غير محددة فستُعاد القيمة undefined. أمثلة استخدام الدالة codePointAt()‎ 'ABC'.codePointAt(1); // 66 '\uD800\uDC00'.codePointAt(0); // 65536 'XYZ'.codePointAt(42); // undefined تعويض نقص دعم المتصفحات الشيفرة الآتية تُضيف على ...

التابع ‎.unload()‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQuery

‎.unload( handler )‎ القيمة المعادة يُعيد كائنًا من النوع jQuery. اٌُهمل مع الإصدار: 1.8, اُُزيل مع الإصدار: 3.0. الوصف ربط أحد معالجات الأحداث بحدث unload في JavaScript. ‎.unload( handler )‎ أُضيف مع الإصدار: 1.0. handler دالة تُنفَّذ عند تشغيل الحدث، وهي على الشكل Function( Event eventObject )‎. ‎.unload( [eventData ], handler )‎ أُضيف مع الإصدار: 1.4.3. eventData كائن عادي من البيانات التي ستمرر إلى معالج الحدث وقد يكون من أي نوع من الأنواع. handler دالة تُنفَّذ عند تشغيل الحدث، وهي ...

التابع ‎‎.resize()‎‎ في jQuery

‎.resize( handler )‎ القيم المعادة يعيد كائنًا من النوع jQuery. الوصف يربط هذا التابع معالج حدث معين مع الحدث resize في JavaScript، أو يستدعي ذلك الحدث لتطبيقه على عنصر. ‎.resize( handler )‎ أُضيف مع الإصدار: 1.0. handler دالة من الشكل Function( Event eventObject )‎، وتُمثِّل الدالة التي ستُنفَّذ في كل مرة يُستدعى فيها الحدث. ‎.resize( [eventData ], handler )‎ أُضيف مع الإصدار: 1.4.3. eventData أي شيء (وهو نوع افتراضي مُستخدَم في jQuery للإشارة إلى إمكانيَّة استخدام أي نوع)، ويُمثِّل كائنًا ...

Math.log()‎

الدالة Math.log()‎ تعيد اللوغاريتم الطبيعي (ذو الأساس e) للعدد المعطي، أي لو أعادت هذه الدالة القيمة y فسيكون التعبير الرياضي ey = x محققًا. الدالة Math.log()‎ في JavaScript تكافئ الدالة ln(x)‎ في الرياضيات. البنية العامة Math.log(x) x العدد التي ستُجرى عليه العملية. القيمة المعادة اللوغاريتم الطبيعي (ذو الأساس e) للعدد المعطي، وإذا كان العدد سالبًا فستُعاد القيمة NaN. الوصف إذا كانت قيمة الوسيط x سالبةً، فستُعيد هذه الدالة القيمة NaN دومًا. لمّا كانت الدالة log هي دالةٌ ساكنة (static method) ...

المحدد ‎‎‎:lt()‎‎ في jQuery

المحدد ()‎:lt الوصف يختار هذا المحدِّد جميع العناصر التي فهرسها أقل من القيمة index المعطاة في المجموعة المطابقة. jQuery( ":lt(index)" )‎ أُضيف مع الإصدار: 1.0. index فهرس صفري. jQuery( ":lt(-index)" )‎ أُضيف مع الإصدار: 1.8. indexFromEnd فهرس صفري للعنصر المراد مطابقته، معدود تنازليًا بدءًا من العنصر الأخير. المحددات المرتبطة بالفهارس ترشِّح المحددات المرتبطة بالفهارس (من ضمنها هذا المحدِّد) مجموعة العناصر التي طابقت التعبيرات التي تسبقها؛ وهي تُضيِّق المجموعة على أساس ترتيب العناصر داخل هذه المجموعة المتطابقة. على سبيل المثال، إذا ...

String.fromCharCode()‎

الدالة String.fromCharCode()‎ الساكنة (static) تُعيد سلسلةً نصيةً مُنشَأةً باستخدام سلسلة من قيم محارف يونيكود. البنية العامة String.fromCharCode(num1[, ...[, numN]]) num1, ..., numN سلسلة من الأرقام التي تُمثِّل قيم محارف يونيكود (Unicode values). المجال المسموح يقع بين 0 و 65535 (أي 0xFFFF)، والأرقام الأكبر من 0xFFFF سيُقتَطع جزءٌ منها. القيمة المعادة سلسلة نصية تحتوي على محارف ترتبط بقيم يونيكود المُمرَّرة إلى الدالة. الوصف هذه الدالة تُعيد سلسلةً نصيةً أوليّةً ولا تُعيد كائن String. لمّا كانت الدالة fromCharCode هي دالةٌ ساكنة (static method) تابعةٌ ...

الخطافات غير المتزامنة في Node.js

الاستقرار: 1-تجريبي توفِّر الوحدة async_hooks واجهة برمجية (API) لتسجيل دوال ردود النداء التي تتعقَّب دورة حياة (lifetime) الموارد غير المتزامنة (asynchronous resources) المُنشأَة داخل تطبيقات Node.js. يمكن الوصول إلى هذه الوحدة باستعمال الأمر التالي: const async_hooks = require('async_hooks'); اصطلاحات يمثِّل المورد غير المتزامن كائنًا مرفقًا به رد نداء. قد يُستدعَى رد النداء هذا عدَّة مرات، مثل الحدث 'conection' في net.createServer()‎، أو مرةً واحدة فقط، مثل fs.open()‎. يمكن أن يُغلق المورد أيضًا قبل أن يُستدعَى رد النداء. لا تفرِّق الوحدة AsyncHook ...

الأصناف في TypeScript

مقدمة تعتمد لغة JavaScript التقليدية على الدوال والوراثة المعتمدة على سلسلة Prototype لبناء مكونات قابلة لإعادة الاستعمال، وقد يجد بعض المبرمجين هذه الطريقة غريبة ومرهقة، خاصّة الذين ألِفوا البرمجة كائنيّة التوجه التي تعتمد على الأصناف التي ترث وظيفة (functionality) الأصناف الأساس (base classes) وتُبنَى فيها الكائنات من هذه الأصناف. بدايةً من الإصدار ECMAScript 2015 المعروف كذلك بالإصدار ECMAScript 6، يُمكن لمبرمجي JavaScript بناء التطبيقات باستخدام البرمجة كائنيّة التوجّه المعتمِدة على الأصناف. وتسمح TypeScript للمطورين باستعمال هذه التقنيات الآن، وتُترجِمها إلى ...

الحقل time

عناصر <input> ذات النوع time تُنشِئ حقل إدخال يسمح بإدخال الوقت بسهولة. شكل هذا الحقل يختلف من متصفح إلى متصفح، فالدعم الحالي ليس مثاليًا، فالوضع الحالي لهذا الحقل في متصفحات Chrome و Opera و Edge ومتصفحات الهواتف المحمولة لا بأس به، وسيُعرَض كحقل نصي في المتصفحات التي لا تدعمه: <input type="time" name="time"> سيبدو هذا الحقل كما في الصورة الآتية في متصفحَي Chrome و Opera، إذ يظهر سهم علوي وسفلي إضافةً إلى زر لحذف قيمة الحقل، وسيُدخَل الوقت بصيغة 12 ساعة، أي ...

JSON.parse()‎

الدالة JSON.parse()‎ تُفسِّر سلسلة JSON النصية، وتبني القيمة أو الكائن في JavaScript الموصوف من السلسلة النصية. ويمكن توفير دالة اختيارية لإجراء عملية تحويل على الكائن قبل إعادته. البنية العامة JSON.parse(text[, reviver]) text السلسلة النصية التي ستُفسَّر على أنها بصيغة JSON. راجع صفحة الكائن JSON لمزيٍد من المعلومات حول هذه الصيغة. reviver الدالة التي تصف كيفية تحويل القيمة المُخزَّنة بصيغة JSON إلى القيمة الأصلية قبل إعادتها. القيمة المعادة كائن Object يُمثِّل قيمة JSON. الاستثناءات سيرمى الاستثناء SyntaxError إذا لم تكن السلسلة ...

Math.clz32()‎

الدالة Math.clz32()‎ تعيد عدد الأصفار البادئة (leading zeroes) في التمثيل الثنائي (بطول 32 بت) للعدد. البنية العامة Math.clz32(x) x العدد التي ستُجرى عليه العملية. القيمة المعادة عدد الأصفار البادئة (leading zeros) في التمثيل الثنائي (بطول 32 بت) للعدد المعطي. الوصف اسم الدالة "clz32" هو اختصارٌ للعبارة "CountLeadingZeroes32". إذا لم يكن الوسيط x قيمةً عدديةً، فسيحوّل إلى قيمةٍ عدديةٍ أولًا ثم يحوّل إلى عدد صحيح دون إشارة بالتمثيل الثنائي (بطول 32 بت). إذا كان العدد الصحيح دون إشارة وبطول 32 بت ...

حفظ البيانات المهيكلة بصيغة JSON في بايثون

يمكن قراءة وكتابة السلاسل النصية في الملفات بسهولة ويسر، أما الأرقام فتحتاج إلى المزيد من الجهد لأنّ التابع read()‎ يعيد السلاسل النصية فقط والتي يجب تمريرها إلى دالة مثل int()‎ والتي تأخذ سلسلة نصية مثل '123' وتعيد القيمة العددية 123. أما البيانات الأكثر تعقيدًا مثل القوائم أو القواميس المتداخلة فتحتاج إلى عمليات تحليل (parsing) وسَلسَلة (serializing) لا يمكن القيام بها بصورة يدوية. وبدلًا من إجبار المستخدمين على كتابة الشيفرات وتنقيحها بصورة مستمرة لغرض حفظ البيانات المعقّدة في الملفات، تتيح بايثون ...

التابع ‎‎.contextmenu()‎‎‎ في jQuery

‎.contextmenu( handler )‎ القيمة المعادة كائن jQuery. الوصف يُستخدَم التابع ‎‎.contextmenu()‎‎ في ربط مُعالِج أحداث (event handler) إلى الحدث ‎contextmenu‎ في JavaScript، أو إطلاق هذا الحدث على عنصر ما. ‎.contextmenu( handler )‎ أضيفت في الإصدار: 1.0. handler دالة على الشكل ‎Function( Event eventObject )‎، وتُمثِّل الدالة التي ستُنفَّذ في كل مرة يُطلَق فيها الحدث. ‎.contextmenu( [eventData ], handler )‎ أضيفت في الإصدار: 1.4.3. eventData أي شيء (وهو نوع افتراضي مُستخدَم في jQuery للإشارة إلى إمكانيّة استخدام أي نوع)، ويُمثِّل كائن ...

Date.prototype.setMonth()‎

الدالة Date.prototype.setMonth()‎ تعيد الشهر للتاريخ المُحدَّد وفقًا للتوقيت المحلي؛ نذكِّر أنَّ العد يبدأ من 0 (أي أوّل شهر في السنة رقمه 0). البنية العامة dateObj.setMonth(monthValue[, dayValue]) في الإصدارات التي تسبق JavaScript 1.3: dateObj.setMonth(monthValue) monthValue عدد صحيح بين 0 و 11، يُمثِّل الأشطر من كانون الثاني/يناير إلى كانون الأول/ديسمبر. dayValue وسيطٌ اختياري، وهو عددٌ صحيحٌ من 1 إلى 31، يُمثِّل اليوم في الشهر. القيمة المعادة كم ملي ثانية قد مضت بدءًا من ‎1 January 1970 00:00:00 UTC للتاريخ المعطى (وستُغيّر قيمة الكائن Date أيضًا). ...

Array.prototype.push()‎

الدالة Array.prototype.push()‎ تضيف عنصرًا أو أكثر إلى نهاية مصفوفة وتُعيد عدد عناصر (length) المصفوفة. var numbers = [1, 2, 3]; numbers.push(4); console.log(numbers); // [1, 2, 3, 4] numbers.push(5, 6, 7); console.log(numbers); // [1, 2, 3, 4, 5, 6, 7] البنية العامة arr.push(element1[, ...[, elementN]]) elementN العناصر التي ستُضاف إلى نهاية المصفوفة. القيمة المعادة قيمة الخاصية length الجديدة للمصفوفة التي استدعيت هذه الدالة عليها. الوصف الدالة push تُضيف قيمًا إلى نهاية مصفوفة، وهي تعتمد على قيمة الخاصية length لتحديد أين يجب أن تبدأ بإضافة القيم ...

الخاصية counter-increment

الخاصية counter-increment في CSS تُزيد أو تُنقِص قيمة أحد عدّادات CSS بقيمة معيّنة، ويمكن إعادة تعيين العدّاد إلى رقم معيّن باستخدام الخاصية counter-reset. بطاقة الخاصية القيمة الابتدائية none تُطبَّق على كل العناصر. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. /* الزيادة بمقدار 1 */ counter-increment: my-counter; /* الإنقاص بمقدار 1 */ counter-increment: my-counter -1; /* زيادة أحد العدادات بمقدار 1 وإنقاص الثاني بمقدار 4*/ counter-increment: counter1 counter2 -4; /* عدم زيادة أو إنقاص أيّ عداد، وتُستخدَم لتجاوز القواعد التي لها أولوية أقل */ counter-increment: ...

حفظ البيانات المهيكلة بصيغة JSON في بايثون

يمكن قراءة وكتابة السلاسل النصية في الملفات بسهولة ويسر، أما الأرقام فتحتاج إلى المزيد من الجهد لأنّ التابع read()‎ يعيد السلاسل النصية فقط والتي يجب تمريرها إلى دالة مثل int()‎ والتي تأخذ سلسلة نصية مثل '123' وتعيد القيمة العددية 123. أما البيانات الأكثر تعقيدًا مثل القوائم أو القواميس المتداخلة فتحتاج إلى عمليات تحليل (parsing) وسَلسَلة (serializing) لا يمكن القيام بها بصورة يدوية. وبدلًا من إجبار المستخدمين على كتابة الشيفرات وتنقيحها بصورة مستمرة لغرض حفظ البيانات المعقّدة في الملفات، تتيح بايثون ...

الدالة ‎‎jQuery.getJSON()‎‎ في jQuery

jQuery.getJSON( url [, data ] [, success ] )‎ القيم المعادة تعيد كائنًا من النوع jqXHR. الوصف تجلب هذه الدالة بياناتٍ مرمَّزة بصيغة JSON من الخادم باستعمال طلب HTTP عبر الطريقة GET. jQuery.get( url [, data ] [, success ] )‎ أُضيفت مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسَل الطلب إليه. data كائنٌ مجرَّد أو سلسلة نصية تُرسَل إلى الخادم مع الطلب. success دالةٌ من الشكل Function( Object data, String textStatus, jqXHR jqXHR )‎ يراد ...

parseInt()‎

الدالة parseInt()‎ تُفسِّر سلسلةً نصيةً مُمرَّرةً إليها كوسيط وتُعيد عددًا صحيحًا، وتكون القيمة العددية لتلك السلسلة النصية بالأساس العددي المُحدَّد (radix). البنية العامة parseInt(string, radix); string القيمة التي ستُفسَّر، وإذا لم يكن الوسيط string سلسلةً نصيةً فسيحوَّل إلى واحدة (باستخدام الدالة toString)، وستُهمَل الفراغات في بداية السلسلة ونهايتها. radix عدد صحيح بين 2 و 36 الذي يُمثِّل أساس القيمة العددية المحتواة في السلسلة النصية؛ لاستخدام نظام العد العشري (decimal) -شائع الاستخدام بين البشر- فحدِّد القيمة 10؛ حاول تحديد قيمة هذا ...

هياكل المكتبات في TypeScript

مقدمة طريقة هيكلة ملفّ التصريحات الخاص بك تعتمد عمومًا على كيفيّة اعتماد المستخدمين على المكتبة. هناك عدّة طرق يُمكن بها توفير المكتبة ليستخدمها الآخرون في JavaScript. وستحتاج إلى كتابة ملفّ تصريحاتٍ ملائم حسب هيكل المكتبة التي ترغب بكتابة ملفّ تصريحات لها. يغطي هذا الدليل كيفيّة التعرّف على أنماط المكتبات الشائعة، وكيفيّة كتابة ملف تصريحاتٍ مناسب لنمط المكتبة. يوجد لكل نمط من أنماط هيكلة المكتبات الشائعة ملفٌّ ملائم له في قسم القوالب. يمكنك البدء بهذه القوالب لكتابة ملف التصريحات بشكل أسرع. ...

الدالة ‎‎jQuery.getJSON()‎‎ في jQuery

jQuery.getJSON( url [, data ] [, success ] )‎ القيم المعادة تعيد كائنًا من النوع jqXHR. الوصف تجلب هذه الدالة بياناتٍ مرمَّزة بصيغة JSON من الخادم باستعمال طلب HTTP عبر الطريقة GET. jQuery.get( url [, data ] [, success ] )‎ أُضيفت مع الإصدار: 1.0. url سلسلة نصية تحتوي على الرابط URL الذي سيُرسَل الطلب إليه. data كائنٌ مجرَّد أو سلسلة نصية تُرسَل إلى الخادم مع الطلب. success دالةٌ من الشكل Function( Object data, String textStatus, jqXHR jqXHR )‎ يراد ...

Function.prototype.apply()‎

الدالة Function.prototype.apply()‎ تستدعي دالةً وتضبط قيمة this فيها إلى القيمة المعطية، وستُوفَّر الوسائط التي ستُمرَّر إليها كمصفوفة (أو كائن شبيه بالمصفوفات). ملاحظة: صحيحٌ أنَّ البنية العامة لهذه الدالة تكاد تماثل بينة الدالة call()‎، لكن الفرق الرئيسي بينهما هو أنَّ الدالة call()‎ تقبل قائمةً بالوسائط التي تُمرَّر إلى الدالة، بينما apply()‎ تقبل مصفوفةً واحدةً تحتوي على الوسائط. البنية العامة func.apply([thisArg, argsArray]) thisArg وسيطٌ اختياري، وهو يُمثِّل قيمة المعامل this التي ستُستعمل في الدالة func، لاحظ أنَّ قيمة this المُمرَّرة لا تعني ...

نظرة عامة على Action Cable في ريلز

ستتعرف في هذا الدليل على كيفية عمل Action Cable وكيفية استخدام WebSockets لدمج ميزات الوقت الفعلي في تطبيق ريلز. بعد قراءة هذا الدليل، ستتلعم: ماهية Action Cable وكيفية دمج الواجهة الخلفية والأمامية الخاصة به. كيفية إعداد Action Cable. كيفية إعداد القنوات. النشر وإعداد المعمارية لتشغيل Action Cable. المقدمة يدمج Action Cable مقابس الويب WebSockets مع باقي تطبيق ريلز بسلاسة. يسمح ذلك بكتابة الميزات في الوقت الحقيقي في روبي بنفس الأسلوب والشكل كبقية تطبيقات ريلز، مع الاستمرار في الأداء وقابلية التطوير. ...

التعامل مع Ajax في jQuery

تحوي مكتبة jQuery على مجموعة كاملة من الأدوات المخصصة للتعامل مع Ajax. التوابع والدوال الموجودة في هذا القسم تسمح لك مثلًا بتحميل بيانات من الخادم دون تحديث المتصفح صفحة الويب. ‎.ajaxComplete()‎ يُسجِّل هذا التّابع مُعالِج الأحداث (Event handler) لاستدعائه عند اكتمال طلبات Ajax. ‎.ajaxError()‎ يُسجِّل هذا التّابع مُعالِج الأحداث (Event handler) لاستدعائه عند اكتمال تنفيذ طلب Ajax مع حدوث خطأ. ‎.ajaxSend()‎ يُرفِق هذا التّابع دالة لتنفيذها قبل إرسال طلب Ajax. ‎.ajaxStart()‎ يُسجِّل هذا التّابع مُعالِج الأحداث (Event handler) لاستدعائه عند ...

التابع ‎‎.click()‎‎‎ في jQuery

‎.click( handler )‎ القيمة المعادة كائن jQuery. الوصف يُستخدَم التابع ‎‎.click()‎‎ في ربط مُعالِج الأحداث (event handler) إلى الحدث click في JavaScript أو إطلاق هذا الحدث على عنصر ما. ‎.click( handler )‎ أضيفت في الإصدار: 1.0. handler دالة على الشكل ‎Function( Event eventObject )‎، وتُمثِّل الدالة التي ستُنفَّذ في كل مرة يُطلَق فيها الحدث. ‎.click( [eventData ], handler )‎ أضيفت في الإصدار: 1.4.3. eventData أي شيء (وهو نوع افتراضي مُستخدَم في jQuery للإشارة إلى إمكانيّة استخدام أي نوع)، ويُمثِّل كائن ...

مدخل إلى ملفات التصريحات في TypeScript

مقدمة هذا الدليل مصمَّم لإرشادك إلى كيفيّة كتابة ملفّات تصريحاتٍ (Declaration Files) عاليّة الجودة في TypeScript. يفترض هذا الدليل أنّ لك معرفةً بأساسيّات لغة TypeScript. اقرأ توثيق لغة TypeScript لتفهم مبادئ اللغة الأساسيّة، خاصّة الأنواع ومجالات الأسماء. الأقسام ينقسم هذا الدليل إلى الأقسام التالية: هياكل المكتبات يُساعد دليل هياكل المكتبات على فهم أشكال المكتبات الشائعة وكيفيّة كتابة ملفّ تصريحٍ سليمٍ لكلّ شكل. إذا كنت تُحرّر ملفّ تصريحات موجودٍ أصلًا (كُتِب من طرف مبرمج آخر مثلًا)، فالغالب أنّك لا تحتاج إلى ...

الخاصية counter-reset

الخاصية counter-reset في CSS تُعيد ضبط قيمة أحد عدّادات CSS إلى قيمة معيّنة، بينما يمكن زيادة أو إنقاص قيمة العداد باستخدام الخاصية counter-increment. بطاقة الخاصية القيمة الابتدائية none تُطبَّق على كل العناصر. قابلة للوراثة لا قابلة للتحريك لا القيمة المحسوبة كما حُدِّدَت. /* ضبط قيمة العداد إلى 0 */ counter-reset: my-counter; /* ضبط قيمة العداد إلى -1 */ counter-reset: my-counter -1; /* ضبط قيمة أوّل عداد إلى 1 وثاني عدّاد إلى 4 */ counter-reset: counter1 1 counter2 4; /* إلغاء عملية إعادة التعيين، وتُستخدَم لتجاوز القواعد ...

العنصر

قائمة التصفح