نتائج البحث

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

الكائن Object في JavaScript

الدالة البانية Object تُنشِئ كائنًا. البنية العامة // الشكل المختصر لتهيئة الكائن { [ nameValuePair1[, nameValuePair2[, ...nameValuePairN] ] ] } // استدعاء الدالة البانية new Object([value]) nameValuePairN أزواج من الأسماء (السلاسل النصية) والقيم (أيّ نوع من القيم) التي يُفصل فيها بين الاسم والقيمة بنقطتين رأسيتين :. value أيّة قيمة في JavaScript. الوصف الدالة البانية Object تُغلِّف (wrap) القيمة المعطية في كائن، وإذا كانت القيمة المعطية null أو undefined، فستُنشِئ وتُعيد كائنًا فارغًا، وفيما عدا ذلك فستُنشِئ وتُعيد كائنًا من النوع المناسب للقيمة المعطية، ...

الكائن Array في JavaScript

الكائن Array يُستخدَم في إنشاء المصفوفات، والتي هي قوائم شبيهة بالكائنات. إنشاء مصفوفة var fruits = ['Apple', 'Banana']; console.log(fruits.length); // 2 الوصول إلى عنصر من عناصر المصفوفة var first = fruits[0]; // Apple var last = fruits[fruits.length - 1]; // Banana المرور على عناصر المصفوفة بحلقة تكرار fruits.forEach(function(item, index, array) { console.log(item, index); }); // Apple 0 // Banana 1 إضافة عنصر في نهاية المصفوفة var newLength = fruits.push('Orange'); // ["Apple", "Banana", "Orange"] إزالة عنصر من نهاية المصفوفة var last = fruits.pop(); // إزالة Orange (من النهاية) // ["Apple", ...

الكائن TypeError في JavaScript

الكائن TypeError يُشير إلى حدوث خطأ عندما يكون نوع المتغير أو المعامل غير صحيح. البنية العامة new TypeError([message]) message وسيط اختياري، وهو وصفٌ نصيٌّ للخطأ موجَّهٌ للبشر. الخاصيات والدوال التابعة للدالة البانية TypeError الخاصيات TypeError.prototype تُمثِّل هذه الخاصية كائن prototype التابعة للكائن TypeError. الدوال الدالة البانية TypeError لا تملك أيّة دوال تابعة لها مباشرةً، وإنما ترث بعض الخاصيات عبر سلسلة prototype. الكائن prototype الخاصيات TypeError.prototype.constructor تُحديد الدالة التي ستُنشِئ كائن prototype لكائنات TypeError؛ راجع صفحة الخاصيةObject.prototype.constructor لمزيدٍ من التفاصيل. TypeError.prototype.message رسالة ...

الكائن Error في JavaScript

الدالة البانية Error تُنشِئ كائن خطأ، والنسخ الكائنات من النوع Error ستُرمى عند حدوث أخطاء في وقت التنفيذ (runtime errors)؛ لاحظ أنَّ الكائن Error يُستخدَم أيضًا ككائن أساس للاستثناءات التي يُعرَّفها المستخدم. انظر أدناه للحصول على قائمة بأنواع الأخطاء القياسية المُضمَّنة في اللغة. البنية العامة new Error([message]) message وسيط اختياري، وهو وصفٌ نصيٌّ للخطأ موجَّهٌ للبشر. الوصف الأخطاء التي تحدث في وقت التنفيذ (runtime errors) تؤدي إلى إنشاء ورمي كائنات Error جديدة. أنواع الأخطاء بجانب الدالة البانية Error العامة، هنالك ...

الكائن RangeError في JavaScript

الكائن RangeError يُشير إلى حدوث خطأ وقع عندما تكون قيمة متغير رقمي أو معاملٍ ما خارج المجال المسموح. البنية العامة new RangeError([message]) message وسيط اختياري، وهو وصفٌ نصيٌّ للخطأ موجَّهٌ للبشر. الوصف سيرمى الخطأ RangeError عند محاولة تمرير رقم كوسيط إلى دالة لا تعدّ هذا الرقم ضمن المجال المسموح للقيم التي تقبلها؛ وسيحدث ذلك عند محاولة إنشاء مصفوفة لها طول (length) غير صحيح باستخدام الدالة البانية Array، أو عند تمرير قيم غير صالحة إلى الدوال Number.toExponential()‎ أو Number.toFixed()‎ أو Number.toPrecision()‎. ...

الكائن SyntaxError في JavaScript

الكائن SyntaxError يُشير إلى حدوث خطأ عند محاولة تفسير شيفرة ذات بنية غير صحيحة. البنية العامة new SyntaxError([message]) message وسيط اختياري، وهو وصفٌ نصيٌّ للخطأ موجَّهٌ للبشر. الخاصيات والدوال التابعة للدالة البانية SyntaxError الخاصيات SyntaxError.prototype تُمثِّل هذه الخاصية كائن prototype التابعة للكائن SyntaxError. الدوال الدالة البانية SyntaxError لا تملك أيّة دوال تابعة لها مباشرةً، وإنما ترث بعض الخاصيات عبر سلسلة prototype. الكائن prototype الخاصيات SyntaxError.prototype.constructor تُحديد الدالة التي ستُنشِئ كائن prototype لكائنات SyntaxError؛ راجع صفحة الخاصيةObject.prototype.constructor لمزيدٍ من التفاصيل. SyntaxError.prototype.message رسالة ...

الكائن Date في JavaScript

الدالة البانية Date تُنشِئ كائنًا من النوع Date الذي يُمثِّل لحظة زمنية معيّنة. القيمة الزمنية الموجودة في كائنات Date هي كم ملي ثانية مضى منذ تاريخ 1 كانون الثاني (يناير) 1970 بتوقيت UTC. البنية العامة new Date(); new Date(value); new Date(dateString); new Date(year, month, day, hours, minutes, seconds, milliseconds); ملاحظة: كائنات Date في JavaScript يمكن تهيئتها باستخدام Date كدالة بانية فقط، أي استدعاؤها كدالة عادية (دون المعامل new) وسيُعيد ذلك سلسلةً نصيةً بدلًا من الكائن Date، وعلى النقيض من بقية أنواع كائنات JavaScript، لا ...

الكائن JSON في JavaScript

الكائن JSON يحتوي على الدوال التي تُفسِّر صيغة JavaScript Object Notation (اختصارًا JSON) وتحوّل القيم إلى صيغة JSON. ليس الغرض من هذا الكائن هو تهيئته أو بناؤه (عبر المعامل new)، وليس له عملٌ خاصٌ به باستثناء وجود دالتين تابعتين له. الوصف صيغة JSON هي صيغة لتخزين الكائنات والمصفوفات والأعداد والسلاسل النصية والقيم المنطقية والقيمة null؛ وهي مبنية على صيغة JavaScript لكنها تختلف عنها، فبعض شيفرات JavaScript ليست صالحةً في JSON، وبعض شيفرات JSON ليس صالحةً في JavaScript. الجدول الآتي يعرض ...

الكائن RegExp في JavaScript

الكائن RegExp هو دالةٌ بانيةٌ تُنشِئ تعابير نمطيةً (regular expressions) لمُطابَقة النص مع نمط. البنية العامة يمكن أن تأخذ التعابير النمطية الشكل الآتي (الشكل المختصر، ثم الدالة البانية، ثم الدالة RegExp): /pattern/flags new RegExp(pattern[, flags]) RegExp(pattern[, flags]) pattern التعبير النمطي. flags إذا حُدِّدَت قيمة هذا الوسيط، فستحتوي على تجميعة من الرايات الآتية. g المطابقة في كامل السلسلة النصية، أي العثور على جميع المطابقات بدل التوقف عند أوّل مطابقة. i تجاهل حالة الأحرف. m تعدد الأسطر، أي معاملة محرف البداية والنهاية (أي ^ ...

الكائن URIError في JavaScript

الكائن URIError يُمثِّل أحد الأخطاء التي تقع عند تمرير وسائط غير صالحة إلى دالة encodeURI()‎ (أو encodeURIComponent()‎) أو decodeURI()‎ (أو decodeURIComponent()‎) البنية العامة new URIError([message]) message وسيط اختياري، وهو وصفٌ نصيٌّ للخطأ موجَّهٌ للبشر. الخاصيات والدوال التابعة للدالة البانية URIError الخاصيات URIError.prototype تُمثِّل هذه الخاصية كائن prototype التابعة للكائن URIError. الدوال الدالة البانية URIError لا تملك أيّة دوال تابعة لها مباشرةً، وإنما ترث بعض الخاصيات عبر سلسلة prototype. الكائن prototype الخاصيات URIError.prototype.constructor تُحديد الدالة التي ستُنشِئ كائن prototype لكائنات URIError؛ راجع صفحة الخاصيةObject.prototype.constructor لمزيدٍ ...

مهيئ الكائنات في JavaScript

يمكن تهيئة الكائنات باستخدام new Object()‎ أو الدالة Object.create()‎ أو باستخدام الشكل المختصرة (initializer notation). إنَّ مُهيّئ الكائنات هو قائمة فيها «صفر» زوج أو أكثر من أسماء الخاصيات مع القيم المرتبطة بها، مفصولةٌ بفواصل، ويحيط بها قوسين معقوفين {}. البنية العامة var o = {}; var o = {a: 'foo', b: 42, c: {}}; var a = 'foo', b = 42, c = {}; var o = {a: a, b: b, c: c}; var o = { property: function ([parameters]) {}, get property() ...

الكائن Function في JavaScript

الدالة البانية Function تُنشِئ كائن Function جديد، واستدعاء الدالة البانية مباشرةً يمكِّننا من إنشاء الدوال ديناميكيًا، لكنه يعاني من مشاكل تتعلق بالأداة والناحية الأمنية بما يشابه دالة eval. يجدر بالذكر أنَّ جميع الدوال في JavaScript هي كائنات Function. البنية العامة new Function ([arg1[, arg2[, ...argN]],] functionBody) arg1, arg2, ... argN الأسماء المستخدمة من الدالة للإشارة إلى الوسائط المُمرَّرة إلى الدالة، ويجب أن تكون سلاسل نصية تُمثِّل مُعرِّفات JavaScript صالحة أو قائمة من تلك السلاسل النصية التي يُفصَل بينها بفاصلة؛ مثلًا: ...

الكائن arguments في JavaScript

الكائن arguments هو كائن شبيه بالمصفوفات يمنحنا وصولًا إلى الوسائط المُمرَّرة إلى دالةٍ ما. البنية العامة arguments الوصف الكائن arguments هو متغيرٌ محليٌّ متاحٌ في جميع الدوال (عدا الدوال السهمية)، ويمكنك الإشارة إلى الوسائط المُمرَّرة إلى الدالة داخلها باستخدام الكائن arguments. يحتوي هذا الكائن على كل وسيط مُمرَّر إلى الدالة مرتبًا بنفس ترتيب تمريره بدءًا من الفهرس 0. على سبيل المثال، إذا مُرَّرتَ ثلاثة وسائط إلى دالةٍ ما، فيمكنك الإشارة إليها كما يلي: arguments[0] arguments[1] arguments[2] يمكنك ضبط قيمة الوسائط أيضًا: arguments[1] = ...

الكائن ReferenceError في JavaScript

الكائن ReferenceError يُشير إلى حدوث خطأ عند محاولة الإشارة إلى متغيرٍ غير موجود. البنية العامة new ReferenceError([message]) message وسيط اختياري، وهو وصفٌ نصيٌّ للخطأ موجَّهٌ للبشر. الخاصيات والدوال التابعة للدالة البانية ReferenceError الخاصيات ReferenceError.prototype تُمثِّل هذه الخاصية كائن prototype التابعة للكائن ReferenceError. الدوال الدالة البانية ReferenceError لا تملك أيّة دوال تابعة لها مباشرةً، وإنما ترث بعض الخاصيات عبر سلسلة prototype. الكائن prototype الخاصيات ReferenceError.prototype.constructor تُحديد الدالة التي ستُنشِئ كائن prototype لكائنات ReferenceError؛ راجع صفحة الخاصيةObject.prototype.constructor لمزيدٍ من التفاصيل. ReferenceError.prototype.message رسالة الخطأ. ...

الكائن Boolean في JavaScript

الكائن Boolean هو كائن مُغلِّف لنوع القيم الأوليّة boolean (المنطقية). البنية العامة new Boolean([value]) value وسيط اختياري، وهو القيمة الابتدائية للكائن Boolean. الوصف القيمة المُمرَّرة كوسيط إلى الدالة البانية Boolean ستُحوَّل إلى قيمة منطقية إن كان ذلك ضروريًا؛ وإذا لم تُحدَّد القيمة، أو كانت 0 أو -0 أو null أو false أو NaN أو undefined أو سلسلة نصية فارغة "" فستكون القيمة الابتدائية للكائن هي false؛ وجميع القيمة الأخرى بما في ذلك أيّة كائنات أو السلسلة النصية "false" ستُنشِئ كائنًا ...

الكائن Number في JavaScript

الكائن Number هو كائن مُغلِّف (wrapper object) الذي يسمح لك بالعمل مع القيم العددية، وتُنشَأ كائنات Number باستخدام الدلة البانية Number()‎. البنية العامة new Number(value); value القيمة العددية التي سيحملها الكائن المُنشَأ. الوصف الاستخدامات الأساسية لكائنات Number هي: إذا لم يكن بالإمكان تحول الوسيط المُمرَّر إلى الدالة البانية إلى قيمة رقمية، فستُعاد القيمة NaN. عند استخدام الدالة Number دون المعامل new (أي أنها ليست دالةً بانيةً)، فيمكن أن تُستخدَم لإجراء تحويل بين أنواع القيم. الخاصيات التابعة للدالة البانية Number Number.EPSILON ...

الكائن Math في JavaScript

الكائن Math هو كائنٌ مُضمَّن في اللغة الذي يملك خاصيات ودوال تُمثِّل الثوابت والدوال الرياضيّة. هذا الكائن ليس دالةً بحد ذاته، انظر قسم الوصف للمزيد من المعلومات. الوصف على النقيض من الكائنات العامة الأخرى، الكائن Math ليس دالةً بانيةً (constructor)، وجميع الخاصيات والدوال التابعة للكائن Math هي خاصيات ساكنة (static)، وهذا يعني أنَّك تستطيع الإشارة إلى الثابت الرياضي π (باي) باستخدام الخاصية Math.PI وتستطيع استخدام دالة جيب الزاوية (sine) كما يلي Math.sin(x)‎، إذ إنَّ القيمة x هي الوسيط المُمرَّر إلى ...

العمل مع JavaScript في ريلز

يغطي هذا الدليل وظيفة Ajax/JavaScript المضمّنة في ريلز (والمزيد)؛ وسوف يمكنك من إنشاء تطبيقات Ajax غنية وديناميكية بكل سهولة! ستتعلم بعد قراءة هذا الدليل: أساسيات Ajax. جافاسكربت الواضحة (Unobtrusive JavaScript). كيف يساعدك مساعدو ريلز المدمجون (built-in helpers). كيفية التعامل مع Ajax من طرف الخادم. الجوهرة Turbolinks. مقدمة لفهم Ajax لفهم أجاكس، يجب أولًا فهم ما يفعله متصفّح الويب بشكل طبيعي. عندما تكتب http://localhost:3000 في شريط عنوان المتصفّح وتضغط على "Go" ، يقدّم المتصفح ("العميل") طلبًا للخادم، ويفرز الاستجابة ثم يجلب ...

الكائنات في PHP

تهيئة الكائن لإنشاء كائن جديد، استخدم التعبير البرمجي new لتهيئة كائن من صنفٍ ما (class): <?php class foo { function do_foo() { echo "Doing foo."; } } $bar = new foo; $bar->do_foo(); ?> راجع فصل الأصناف والكائنات (Classes and Objects) للمزيد من المعلومات. التحويل إلى كائن إذا حوّلنا كائنًا إلى كائنٍ آخر فلن يُعدَّل فيه شيء، أما إذا حولنا قيمةً من أي نوعٍ آخر إلى كائن، فستُنشَأ نسخةً جديدةً من ...

الكائنات في PHP

تهيئة الكائن لإنشاء كائن جديد، استخدم التعبير البرمجي new لتهيئة كائن من صنفٍ ما (class): <?php class foo { function do_foo() { echo "Doing foo."; } } $bar = new foo; $bar->do_foo(); ?> راجع فصل الأصناف والكائنات (Classes and Objects) للمزيد من المعلومات. التحويل إلى كائن إذا حوّلنا كائنًا إلى كائنٍ آخر فلن يُعدَّل فيه شيء، أما إذا حولنا قيمةً من أي نوعٍ آخر إلى كائن، فستُنشَأ نسخةً جديدةً من ...

الكائن Process

يكون الكائن process عامًا (global) والذي يزود معلومات عن عملية Node.js الحالية ورقابةً عليها، كونه كائنًا عامًا فهو متوافر دومًا لتطبيقات Node.js دون استخدام ()require. أحداث Process الكائن process هو نسخة من EventEmitter. الحدث 'beforeExit' أُضيف في الإصدار: 0.11.12. يُطلَق الحدث 'beforeExit' عندما تفرغ Node.js من حلقة الأحداث (event loop) ولا يوجد عمل إضافي لجدولته. بشكل طبيعي، عملية Node.js سوف تنتهي عندما لا يكون هناك عمل مجدولٌ، لكن المُنصِت المسجِّل لحدث 'beforeExit' يمكن أن يعمل استدعاءات غير متزامنة، وبذلك يسبب ...

الكائن المؤجل (Deferred Object)

قُدِّم الكائن المؤجل في الإصدار jQuery 1.5، وهو كائن أداة قابل للتسلسل ينشأ عن طريق استدعاء التابع jQuery.Deferred()‎‎‎. ويمكنه تسجيل عدة دوال رد اتصال في صفوف رد الاتصال، واستدعاء هذه الصفوف، ونقل حالة النجاح أو الفشل لأي دالة متزامنة أو غير متزامنة. يكون الكائن المؤجل قابلاً للتسلسل، مماثلاً للطريقة التي يكون فيها كائن jQuery قابلاً للتسلسل، ولكن له توابعه الخاصة. بعد إنشاء كائن مؤجل، يمكنك استخدام أي من التوابع المذكورة أدناه إما بالتسلسل مباشرة من إنشاء الكائن، أو حفظ الكائن ...

وراثة الكائنات في PHP

وراثة الكائنات من المبادئ المعروفة في البرمجة كائنية التوجه وتستخدمه PHP في نموذج الكائنات الخاصّ بها. يؤثّر هذا المبدأ على العلاقة التي تربط بين الأصناف والكائنات. فعلى سبيل المثال، عند توسيع صنف معين، يرث الصنف الفرعي جميع التوابع من نوع public و protected من الصنف الأب، وإن لم يتجاوز (override،أي يعيد تعريف) الصنف الابن هذه التوابع فإنّها ستحافظ على وظيفتها الأصلية. يساعد مبدأ وراثة الكائنات في تعريف الوظائف التي تؤديها التوابع وجعلها أكثر تجريدًا، ويتيح أداء المزيد من الوظائف في ...

الكائنات العامة‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في Node.js

هذه الكائنات متوفرة في جميع الوحدات (modules). قد تبدو المتغيرات التالية عامة ولكنها ليست كذلك. وهي موجودة فقط داخل نطاق الوحدات، راجع صفحة توثيق نظام الوحدات: ‎__dirname ‎__filename exports module require()‎‎‎ الكائنات المذكورة هنا خاصة ببيئة تشغيل Node.js. هناك عدد من الكائنات المضمنة التي تعد جزءًا من لغة JavaScript نفسها، والتي يمكن الوصول إليها عمومًا أيضًا. الصنف Buffer أُضيف مع الإصدار: v0.1.103. <function> يستخدم لمعالجة البيانات الثنائية. راجع صفحة توثيق buffer. ‎__dirname قد يبدو هذا المتغير عامًا ولكنه ليس كذلك. ...

الكائنات والمراجع في PHP

غالبًا ما ترد العبارة التالية كثيرًا عند الحديث عن البرمجة كائنية التوجّه في PHP 5: "تمرّر الكائنات بالمرجعية بصورة افتراضية". هذه العبارة ليست صحيحة تمامًا، وسيصحّح هذا القسم هذه الفكرة العامة بالاستعانة ببعض الأمثلة. المرجع في PHP هو اختصار يتيح لمتغيرين مختلفين الكتابة إلى القيمة ذاتها. ومنذ الإصدار الخامس من اللغة، لم يعد متغير الكائن يتضمّن الكائن نفسه كقيمة على الإطلاق، بل يتضمّن فقط معرّفًا للكائن يتيح الوصول إلى الكائن الحقيقي. وعند تمرير الكائن كمعامل أو إعادته أو إسناده إلى ...

كائنات UserList في بايثون

يعدّ UserList صنفًا يغلّف القوائم في بايثون، ويعدّ صنفًا أساسيًا مفيدًا لإنشاء أصناف شبيهة بالقوائم خاصّة بالمستخدم، والتي يمكن الوراثة منها وإعادة تعريف توابعها وإضافة توابع أخرى جديدة، وهكذا يمكن إضافة عمليات جديدة على القوائم. أصبحت الحاجة إلى هذا الصنف محدودة نظرًا لإمكانية التفريع المباشر من القوائم في بايثون، لكن التعامل مع هذا الصنف أسهل بسبب كون إمكانية الوصول إلى القائمة الضمنية كخاصية. البنية العامة class collections.UserList([list]) يحاكي هذا الصنف القوائم العادية في بايثون، ويجري الاحتفاظ بمحتويات النسخة في قائمة ...

خاصيات الكائنات في PHP

تطلق تسمية "الخاصيات properties" على المتغيّرات المعرّفة ضمن الأصناف، وهناك تسميات أخرى مثل "المعاملات" أو "الحقول"، ولكن سنستخدم التسمية الأولى "الخاصيات" في هذا الدليل. تعرّف الخاصيات باستخدام إحدى الكلمات المفتاحية public، أو protected، أو private تتبعها عبارة تصريح عن متغير اعتيادي. يمكن أن يتضمّن هذا التصريح عملية تهيئة initialization، ولكن يجب أن تكون هذه التهيئة ذات قيمة ثابتة، بمعنى أنّه يجب أن تكون قابلة للمعالجة في وقت التصريف ويجب أن لا تعتمد على المعلومات المتاحة في وقت التشغيل لغرض المعالجة. ...

الكائنات والمراجع في PHP

غالبًا ما ترد العبارة التالية كثيرًا عند الحديث عن البرمجة كائنية التوجّه في PHP 5: "تمرّر الكائنات بالمرجعية بصورة افتراضية". هذه العبارة ليست صحيحة تمامًا، وسيصحّح هذا القسم هذه الفكرة العامة بالاستعانة ببعض الأمثلة. المرجع في PHP هو اختصار يتيح لمتغيرين مختلفين الكتابة إلى القيمة ذاتها. ومنذ الإصدار الخامس من اللغة، لم يعد متغير الكائن يتضمّن الكائن نفسه كقيمة على الإطلاق، بل يتضمّن فقط معرّفًا للكائن يتيح الوصول إلى الكائن الحقيقي. وعند تمرير الكائن كمعامل أو إعادته أو إسناده إلى ...

‎سَلسَلة الكائن في PHP

سلسلة الكائنات - الكائنات في الجلسات تعيد الدالة serialize()‎‎ سلسلة نصية تتضمّن تمثيلًا لتدفق البايتات لأي قيمة يمكن تخزينها في PHP، ويمكن للدالة unseriazlie()‎ استخدام هذه السلسلة النصية لإعادة إنشاء القيمة الأصلية للمتغيّر. يؤدي تطبيق الدالة serialize()‎ على كائن ما لحفظ جميع المتغيرات الخاصة بذلك الكائن، أما التوابع فلا تحفظ وإنّما يحفظ اسم الصنف فقط. يجب تعريف الصنف الخاص بالكائن حتى يكون بالإمكان تطبيق unserialize()‎ على الكائن، بمعنى أنّه لو كان لديك كائن للصنف A وأجريت عليه عملية السلسلة، فإنّك ...

كائنات calendar.Calendar‎ في بايثون

يقدّم كائن Calendar في وحدة calendar عددًا من التوابع التي يمكن استخدامها لتحضير بيانات التقويم لغرض التنسيق. وتجدر الإشارة هنا إلى أنّ هذا الصنف لا يؤدي أي عمليات تنسيق، وأنّ هذه العمليات تقع على عاتق الأصناف الفرعية. البنية العامة calendar.Calendar(firstweekday=0) تنشئ هذه الدالة البانية كائن Calendar جديد. المعاملات firstweekday المعامل firstweekday هو عدد صحيح يحدّد اليوم الأول في الأسبوع. يمثّل العدد 0 يوم الإثنين (وهو القيمة الافتراضية) والعدد 6 هو يوم الأحد. توابع الصنف Calendar تقدّم نسخ الصنف Calendar التوابع ...

كائنات UserDict‎ في بايثون

يعدّ UserDict صنفًا يغلّف كائنات القاموس في بايثون، ولكن الحاجة إلى هذا الصنف أصبحت محدودة نظرًا لإمكانية التفريع المباشر من الصنف dict، ولكن التعامل مع هذا الصنف أسهل بسبب إمكانية الوصول إلى القاموس الضمني كخاصية. البنية العامة ‎class collections.UserDict([initialdata]) يحاكي الصنف UserDict القاموس العادي في بايثون، وتحتفظ اللغة بمحتويات النسخة في قاموس عادي يمكن الوصول إليه عن طريق خصائص نسخة الصنف UserDict. تُهيّئ نسخة الصنف UserDict مع محتويات المعامل initialdata عند توفّرها، مع ملاحظة أنّه لا يتم الاحتفاظ بإشارة إلى ...

وراثة الكائنات في PHP

وراثة الكائنات من المبادئ المعروفة في البرمجة كائنية التوجه وتستخدمه PHP في نموذج الكائنات الخاصّ بها. يؤثّر هذا المبدأ على العلاقة التي تربط بين الأصناف والكائنات. فعلى سبيل المثال، عند توسيع صنف معين، يرث الصنف الفرعي جميع التوابع من نوع public و protected من الصنف الأب، وإن لم يتجاوز (override،أي يعيد تعريف) الصنف الابن هذه التوابع فإنّها ستحافظ على وظيفتها الأصلية. يساعد مبدأ وراثة الكائنات في تعريف الوظائف التي تؤديها التوابع وجعلها أكثر تجريدًا، ويتيح أداء المزيد من الوظائف في ...

كائنات LocaleTextCalendar‎ في بايثون

هذا الصنف متفرّع من الصنف TextCalendar. يمكن تمرير اسم المنطقة في المعامل locale إلى الدالة البانية وستعيد الدالة أسماء الأشهر وأيام الأسبوع حسب المنطقة المحدّدة. إن تضمّنت المنطقة ترميزًا خاصًّا فإنّ جميع السلاسل النصية التي تتضمّن أسماء الأشهر وأيام الأسبوع ستعاد بالترميز unicode. البنية العامة ‎calendar.LocaleTextCalendar(firstweekday=0, locale=None) المعاملات firstweekday المعامل firstweekday هو عدد صحيح يحدّد اليوم الأول في الأسبوع. يمثّل العدد 0 يوم الإثنين (وهو القيمة الافتراضية) والعدد 6 هو يوم الأحد. locale سلسلة نصية تتضمن اسم الإعدادات المحلية المطلوب ...

الكائن String في أردوينو

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

كائنات Connection‎ في بايثون

تقدّم كائنات الاتصال Connection عددًا من الخصائص والتوابع التي تساعد المستخدم في التعامل مع قواعد بيانات SQLite، كالاتصال بقاعدة البيانات وتحميل الملحقات وإنشاء النسخ الاحتياطية وغيرها. تنشأ كائنات الاتصال كنتيجة لاستدعاء الدالة sqlite3.connect()‎. خصائص كائنات الاتصال تمتلك كائنات الاتصال بقواعد البيانات SQLite الخصائص التالية: الخاصية isolation_level يمكن استخدام هذه الخاصية لمعرفة مستوى العزل الافتراضي الحالي أو تعيينه. تأخذ الخاصية القيمة None لنمط الحفظ التلقائي autocommit أو إحدى القيم "DEFERRED" أو "IMMEDIATE" أو "EXCLUSIVE". راجع قسم التحكم بالإجراءات للمزيد من المعلومات. ...

مقارنة الكائنات في PHP

يمكن إجراء مقارنة بسيطة بين متغيرات الكائنات باستخدام عامل المقارنة (==)، وتكون نسختا الكائن متساويتين إن كانتا تملكان نفس المعاملات ونفس القيم (تقارن القيم باستخدام ==) وكانتا نسختين لنفس الصنف. عند استخدام عامل التطابق (===) تكون متغيرات الكائنات متطابقة عندما تشير فقط وفقط إذا إلى النسخة نفسها من الصنف نفسه. يوضّح المثال التالي هذه القواعد. المثال 1: مثال على مقارنة الكائنات في الإصدار الخامس من PHP <?php function bool2str($bool) { if ($bool === false) { ...

كائنات Cursor‎ في بايثون

كائنات Cursor هي وسيلة التواصل بين المستخدم وقاعدة البيانات، حيث يمكن باستخدام الخصائص والتوابع التي تقدّمها هذه الكائنات تنفيذ جمل SQL وإجراء الاستعلامات وجلب النتائج من قاعدة البيانات. خصائص كائنات Cursor يمتلك كائن المؤشر الخصائص التالية: الخاصية rowcount بالرغم من أنّ صنف Cursor في وحدة sqlite3 يتضمّن هذه الخاصية، إلا أنّ الدعم الذي يقدّمه محرّك SQLite لتحديد "عدد الصفوف المتأثرة"/"عدد الصفوف المحدّدة" جيّد أيضًا. يُجمع عدد التعديلات في الخاصية rowcount عند تنفيذ جمل الاستعلام بواسطة التابع executemany()‎. تتطلب معايير بايثون ...

‎سَلسَلة الكائن في PHP

سلسلة الكائنات - الكائنات في الجلسات تعيد الدالة serialize()‎‎ سلسلة نصية تتضمّن تمثيلًا لتدفق البايتات لأي قيمة يمكن تخزينها في PHP، ويمكن للدالة unseriazlie()‎ استخدام هذه السلسلة النصية لإعادة إنشاء القيمة الأصلية للمتغيّر. يؤدي تطبيق الدالة serialize()‎ على كائن ما لحفظ جميع المتغيرات الخاصة بذلك الكائن، أما التوابع فلا تحفظ وإنّما يحفظ اسم الصنف فقط. يجب تعريف الصنف الخاص بالكائن حتى يكون بالإمكان تطبيق unserialize()‎ على الكائن، بمعنى أنّه لو كان لديك كائن للصنف A وأجريت عليه عملية السلسلة، فإنّك ...

الكائن regex في بايثون

ينشأ كائن التعبير النمطي regex من تصريف التعبير النمطي بواسطة الدالة re.compile()‎، ويقدّم هذا الكائن مجموعة من الخصائص والتوابع التي يمكن من خلالها إجراء العديد من العمليات على التعابير النمطية المصرّفة. خصائص الكائن regex يقدّم الكائن regex الخصائص التالية: regex.flags رايات التطابق الخاص بالكائن regex، وتمثّل مجموعة الرايات التي تمرّر إلى الدالة re.compile()‎، إضافة إلى الرايات السطرية (‎?...‎) في التعابير النمطية، والرايات الضمنية مثل UNICODE إن كان التعبير النمطي سلسلة نصية بترميز Unicode. regex.groups عدد مجموعات الالتقاط في التعبير النمطي. ...

كائنات ChainMap‎ في بايثون

يقدّم الصنف Chainmap طريقة سريعة لربط عدد من عمليات الربط mappings ليصبح بالإمكان التعامل معها كوحدة واحدة. وعادة ما تكون هذه الطريقة أسرع من إنشاء قاموس جديد واستدعاء التابع update()‎ مرّات عدة. يمكن استخدام هذا الصنف لمحاكاة النطاقات المتشعّبة وهو مفيد في عملية القولبة templating. البنية العامة class collections.ChainMap(*maps) يجمع الصنف CmainMap عددًا من القواميس أو وسائل الربط الأخرى لإنشاء عرض مفرد قابل للتحديث. في حال تعيين قيمة المعامل maps، فإنّ الصنف يقدّم قاموسًا واحدًا فارغًا، وبهذا ستمتلك السلسلة الجديدة كائن ...

كائنات defaultdict‎ في بايثون

صنف متفرّع من الصنف الداخلي dict يعيد تعريف override تابع واحد ويضيف متغير نسخة واحدًا قابلًا للكتابة. البنية العامة ‎class collections.defaultdict([default_factory[, ...]]) تعيد الدالة البانية لهذا الصنف كائنًا جديدًا شبيهًا بالقاموس، وdefaultdict هو صنف متفرّع من الصنف الداخلي dict يعيد تعريف override تابع واحد ويضيف متغير نسخة واحدًا قابلًا للكتابة. أما بقية التوابع فهي مماثلة للصنف الرئيسي ولن توثّق هنا. يحدّد المعامل الأول القيمة الابتدائية للخاصية default_factory ويأخذ هذا المعامل القيمة الافتراضية None. أما بقية المعاملات (ومن ضمنها المعاملات المفتاحية) ...

كائنات Connection‎ في بايثون

تقدّم كائنات الاتصال Connection عددًا من الخصائص والتوابع التي تساعد المستخدم في التعامل مع قواعد بيانات SQLite، كالاتصال بقاعدة البيانات وتحميل الملحقات وإنشاء النسخ الاحتياطية وغيرها. تنشأ كائنات الاتصال كنتيجة لاستدعاء الدالة sqlite3.connect()‎. خصائص كائنات الاتصال تمتلك كائنات الاتصال بقواعد البيانات SQLite الخصائص التالية: الخاصية isolation_level يمكن استخدام هذه الخاصية لمعرفة مستوى العزل الافتراضي الحالي أو تعيينه. تأخذ الخاصية القيمة None لنمط الحفظ التلقائي autocommit أو إحدى القيم "DEFERRED" أو "IMMEDIATE" أو "EXCLUSIVE". راجع قسم التحكم بالإجراءات للمزيد من المعلومات. ...

الكائن jQuery.cssHooks()‎‎ في jQuery

jQuery.cssHooks القيم المعادة يعيد كائنًا من النوع Object. الوصف يتعلَّق هذا التابع بـ jQuery مباشرةً للتحكم بكيفيَّة استعادة أو ضبط قيم خاصِّيَّات CSS محدَّدة، أو توحيد أسماء خاصِّيَّات CSS، أو إنشاء خاصِّيَّات CSS مخصَّصة. jQuery.cssHooks أُضيف مع الإصدار: 1.4.3. يوفِّر الكائن ‎$.cssHooks طريقةً لتعريف دوالٍ من أجل جلب أو ضبط قيم خاصِّيَّات CSS محدَّدة. يمكن أيضًا أن يُستخدَم لإنشاء cssHooks جديد من أجل توحيد (normalizing) ميزات CSS3 مثل تأثير الظلال على إطار العناصر (box shadows)، والتدرُّجات (gradients). على سبيل المثال، ...

استنساخ الكائنات في PHP

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

كائنات Row‎ في بايثون

نسخة من الصنف Row وتعدّ صورة محسّنة من الخاصية row_factory في كائنات الاتصال. تحاول نسخة الصنف هذه محاكاة الصفوف tuples في معظم خصائصها، وتدعم الوصول إلى العناصر بواسطة اسم العمود وموقعه، وتدعم كذلك المرور على العناصر، وتمثيلها، واختبار المساواة ومعرفة الطول بواسطة الدالة len()‎. إن امتلك كائنا Row نفس عدد الأعمدة وكان عدد العناصر فيهما متساويًا، فإنّ الكائنين متساويان. توابع كائنات Row التابع keys()‎ يعيد التابع قائمة بأسماء الأعمدة. انظر أيضًا كائنات Connection في بايثون. كائنات Cursor في بايثون. مصادر ...

استنساخ الكائنات في PHP

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

واجهات الكائنات في PHP

تتيح واجهات الكائنات إنشاء شيفرة تحدّد التوابع التي يجب أن يتضمّنها الصنف دون الحاجة إلى تعريف آلية التحكّم في هذه التوابع. تعرّف الواجهات بنفس طريقة تعريف الأصناف، ولكن باستخدام الكلمة المفتاحية interface بدل الكلمة المفتاحية class ودون تعريف محتوى أيّ تابعٍ في الواجهة. يجب أن تكون جميع التوابع المصرّح عنها في الواجهة من النوع public وهذه هي طبيعة الواجهة. يمكن التصريح عن تابع بانٍ في الواجهة، وهو أمر مفيد في بعض الحالات، كاستخدام التابع من قبل المعامل factories. العامل implements ...

خاصيات الكائنات في PHP

تطلق تسمية "الخاصيات properties" على المتغيّرات المعرّفة ضمن الأصناف، وهناك تسميات أخرى مثل "المعاملات" أو "الحقول"، ولكن سنستخدم التسمية الأولى "الخاصيات" في هذا الدليل. تعرّف الخاصيات باستخدام إحدى الكلمات المفتاحية public، أو protected، أو private تتبعها عبارة تصريح عن متغير اعتيادي. يمكن أن يتضمّن هذا التصريح عملية تهيئة initialization، ولكن يجب أن تكون هذه التهيئة ذات قيمة ثابتة، بمعنى أنّه يجب أن تكون قابلة للمعالجة في وقت التصريف ويجب أن لا تعتمد على المعلومات المتاحة في وقت التشغيل لغرض المعالجة. ...

كائنات UserString في بايثون

يعدّ UserString صنفًا يغلّف السلاسل النصية في بايثون، ولكن الحاجة إلى هذا الصنف أصبحت محدودة نظرًا لإمكانية التفريع المباشر من الصنف str، ولكن التعامل مع هذا الصنف أسهل بسبب إمكانية الوصول إلى السلسلة النصية الضمنية كخاصية. البنية العامة class collections.UserString(seq) يحاكي هذا الصنف السلاسل النصية العادية في بايثون، ويجري الاحتفاظ بمحتويات النسخة في سلسلة نصية عادية يمكن الوصول إليها عن طريق خصائص نسخ الصنف UserString. تُسند محتويات النسخة بادئ الأمر إلى نسخة من المعامل seq. يمكن أن يكون المعامل seq ...

كائنات TextCalendar‎ في بايثون

يستخدم هذا الصنف لإنشاء تقويم بهيئة نصية صرفة plain text. البنية العامة ‎calendar.TextCalendar(firstweekday=0) المعاملات firstweekday المعامل firstweekday هو عدد صحيح يحدّد اليوم الأول في الأسبوع. يمثّل العدد 0 يوم الإثنين (وهو القيمة الافتراضية) والعدد 6 هو يوم الأحد. توابع الصنف TextCalendar التابع ‎formatmonth()‎ يعيد التابع التقويم الخاص بشهر معيّن على هيئة سلسلة نصية متعددة الأسطر. التابع ‎prmonth()‎ يطبع التابع تقويم الشهر الذي يعيده التابع formatmonth()‎. التابع ‎formatyear()‎ يعيد التابع العدد المحدد من أعمدة التقويم لسنة كاملة على هيئة سلسلة نصية ...

واجهات الكائنات في PHP

تتيح واجهات الكائنات إنشاء شيفرة تحدّد التوابع التي يجب أن يتضمّنها الصنف دون الحاجة إلى تعريف آلية التحكّم في هذه التوابع. تعرّف الواجهات بنفس طريقة تعريف الأصناف، ولكن باستخدام الكلمة المفتاحية interface بدل الكلمة المفتاحية class ودون تعريف محتوى أيّ تابعٍ في الواجهة. يجب أن تكون جميع التوابع المصرّح عنها في الواجهة من النوع public وهذه هي طبيعة الواجهة. يمكن التصريح عن تابع بانٍ في الواجهة، وهو أمر مفيد في بعض الحالات، كاستخدام التابع من قبل المعامل factories. العامل implements ...

مقارنة الكائنات في PHP

يمكن إجراء مقارنة بسيطة بين متغيرات الكائنات باستخدام عامل المقارنة (==)، وتكون نسختا الكائن متساويتين إن كانتا تملكان نفس المعاملات ونفس القيم (تقارن القيم باستخدام ==) وكانتا نسختين لنفس الصنف. عند استخدام عامل التطابق (===) تكون متغيرات الكائنات متطابقة عندما تشير فقط وفقط إذا إلى النسخة نفسها من الصنف نفسه. يوضّح المثال التالي هذه القواعد. المثال 1: مثال على مقارنة الكائنات في الإصدار الخامس من PHP <?php function bool2str($bool) { if ($bool === false) { ...

كائنات LocaleHTMLCalendar‎ في بايثون

هذا الصنف متفرّع من الصنف HTMLCalendar. يمكن تمرير اسم المنطقة في المعامل locale إلى الدالة البانية وستعيد الدالة أسماء الأشهر وأيام الأسبوع حسب المنطقة المحدّدة. إن تضمّنت المنطقة ترميزًا خاصًّا فإنّ جميع السلاسل النصية التي تتضمّن أسماء الأشهر وأيام الأسبوع ستعاد بالترميز unicode. البنية العامة ‎calendar.LocaleHTMLCalendar(firstweekday=0, locale=None) المعاملات firstweekday المعامل firstweekday هو عدد صحيح يحدّد اليوم الأول في الأسبوع. يمثّل العدد 0 يوم الإثنين (وهو القيمة الافتراضية) والعدد 6 هو يوم الأحد. locale سلسلة نصية تتضمن اسم الإعدادات المحلية المطلوب ...

الكائن match في بايثون

ينشأ الكائن match كنتيجة لتطبيق التابعين regex.match()‎ و regex.search()‎ على التعبير النمطي المصرّف. تمتلك كائنات match القيمة المنطقية True دائمًا، ولما كان التابعان match()‎ و search()‎ يعيدان القيمة None عندما لا يكون هناك حالات تطابق، يمكن التحقق من وجود التطابق باستخدام عبارة if بسيطة: match = re.search(pattern, string) if match: process(match) تدعم كائنات match التوابع والخصائص التالية: خصائص الكائن match match.pos قيمة المعامل pos الممرّر إلى التابعين regex.search()‎ و regex.match()‎. تمثّل هذه الخاصية الموقع الذي تبدأ فيه عملية البحث ...

كائنات OrderedDict‎ في بايثون

القواميس المرتّبة OrderedDict مطابقة للقواميس العادية باستثناء أنّها تتذكر ترتيب العناصر لحظة إدراجها فيها، بمعنى أنّه عند إضافة العناصر إلى قاموس مرتب، تعاد العناصر حسب ترتيب مفاتيحها عند إضافتها أول مرّة. البنية العامة class collections.OrderedDict([items]) تعيد الدالة البانية نسخة من صنف متفرّع عن الصنف dict تدعم جميع توابعه. كائن OrderedDict هو قاموس يتذكّر ترتيب مفاتيحه عند إدخالها أوّل مرة. وإن جرى كتابة عنصر جديد فوق عنصر موجود في القاموس المرتّب، فإنّ موضع الإدخال الأصلي لا يتغيّر، أما حذف عنصر معيّن ...

كائنات deque‎ في بايثون

تعدّ deques صورة عامة للأكداس والطوابير stacks and queues (يقرأ الاسم هكذا "deck" وهو اختصار للعبارة "double-ended queue"). تدعم deques عمليات الإضافة والحذف من طرفي الطابور مع ضمان سلامة الخيوط thread-safe ودون استهلاك كبير للذاكرة وبأداء مقارب لأداء O(1)‎ في كلا الاتجاهين. صحيح أن القوائم تدعم مثل هذه العمليات، إلا أنّها مصمّمة للعمليات السريعة ذات الطول الثابت وتكلّف الذاكرة بمقدار O(n)‎ للعمليتين pop(0)‎ و insert(0, v)‎ واللتان تغيران حجم وموقع البيانات الضمنية الممثلة. البنية العامة ‎class collections.deque([iterable[, maxlen]]) تعيد الدالة ...

الكائن jQuery.cssHooks()‎‎ في jQuery

jQuery.cssHooks القيم المعادة يعيد كائنًا من النوع Object. الوصف يتعلَّق هذا التابع بـ jQuery مباشرةً للتحكم بكيفيَّة استعادة أو ضبط قيم خاصِّيَّات CSS محدَّدة، أو توحيد أسماء خاصِّيَّات CSS، أو إنشاء خاصِّيَّات CSS مخصَّصة. jQuery.cssHooks أُضيف مع الإصدار: 1.4.3. يوفِّر الكائن ‎$.cssHooks طريقةً لتعريف دوالٍ من أجل جلب أو ضبط قيم خاصِّيَّات CSS محدَّدة. يمكن أيضًا أن يُستخدَم لإنشاء cssHooks جديد من أجل توحيد (normalizing) ميزات CSS3 مثل تأثير الظلال على إطار العناصر (box shadows)، والتدرُّجات (gradients). على سبيل المثال، ...

كائنات HTMLCalendar‎ في بايثون

يستخدم هذا الصنف لإنشاء تقويم بهيئة HTML. البنية العامة calendar.HTMLCalendar(firstweekday=0) المعاملات firstweekday المعامل firstweekday هو عدد صحيح يحدّد اليوم الأول في الأسبوع. يمثّل العدد 0 يوم الإثنين (وهو القيمة الافتراضية) والعدد 6 هو يوم الأحد. توابع الصنف HTMLCalendar تقدّم نسخ الصنف HTMLCalendar التوابع التالية: التابع ‎formatmonth()‎ يعيد التابع تقويم الشهر المعطى بصيغة جدول HTML. التابع ‎formatyear()‎ يعيد التابع تقويم السنة المعطاة على هيئة جدول HTML. التابع ‎formatyearpage()‎ يعيد التابع تقويم السنة المعطاة على هيئة صفحة HTML كاملة. خصائص الصنف HTMLCalendar ...

for في JavaScript

التعبير البرمجي for يُنشِئ حلقة تكرار تتألف من ثلاثة تعبيرات برمجية اختيارية تحيط بها أقواس وتفصل بينها فواصل منقوطة، ويليها تعبيرٌ برمجيٌ (وعادةً يكون قسمًا كتليًا [block statement]) سيُنفَّذ في كل تكرار للحلقة. البنية العامة for ([initialization]; [condition]; [final-expression]) statement initialization تعبير (يتضمن تعابير الإسناد) أو تصريح عن متغير، ويُستخدَم عادةً لتهيئة متغير العدّاد؛ وهذا التعبير قد يُصرِّح اختياريًا عن متغيرات جديدة باستخدام الكلمة المحجوزة var؛ وهذه المتغيرات ليست محليةً وتابعةً لحلقة التكرار، وإنما ستكون موجودةً في نفس ...

for...of في JavaScript

التعبير البرمجي for...of يمر على الكائنات التي يمكن الدوران على عناصرها (iterable objects) بما في ذلك الكائن Array و Map و Set و String و TypedArray و Arguments، وتنفيذ تعابير برمجية معيّنة على قيمة كل خاصية من خاصيات تلك الكائنات. البنية العامة for (variable of iterable) { statement } variable ستُنسَد قيمة الخاصية مختلفة لهذا المتغير في كل دورة. iterable خاصيات الكائن القابلة للدوران (iterable properties). الوصف الفرق بين حلقتَي التكرار for...of و for...in التعبيران البرمجيان for...in و for...of يُستخدَمان للدوران ...

for...in في JavaScript

التعبير البرمجي for...in يُنشِئ حلقة تكرار تمر على الخاصيات القابلة للإحصاء (enumerable properties) التابعة لأحد الكائنات، ويمكن تنفيذ تعابير برمجية لكل خاصية من خاصيات الكائن. البنية العامة for (variable in object) { //... } variable ستُنسَد قيمة الخاصية مختلفة لهذا المتغير في كل دورة. object الكائن الذي سنمر على الخاصيات القابلة للإحصاء (enumerable properties) التابعة له. الوصف حلقة التكرار for...in تمر على الخاصيات القابلة للإحصاء (enumerable properties) فقط، فالكائنات المُنشَأة من الدوال البانية المُضمَّنة في اللغة مثل Array و Object ...

تقديم الكائن الفارغ (Introduce Null Object)

المشكلة تؤدي إعادة بعض التوابع للقيمة null بدلًا من الكائنات الحقيقية إلى امتلاء الشيفرة البرمجية بالعديد من نقاط التحقق من القيمة null. الحل إعادة كائن فارغ يظهر السلوك الافتراضي بدلًا من null. مثال قبل إعادة التصميم وجودة نقطة تحقق شرطية من الكائن customer لاتخاذ إجراء مناسب إن كانت قيمته null: في لغة Java: if (customer == null) { plan = BillingPlan.basic(); } else { plan = customer.getPlan(); } في لغة C#‎: if (customer == null) { plan = BillingPlan.Basic(); } else { ...

الحفاظ على الكائن كاملًا (Preserve Whole Object)

المشكلة جلب عدة قيم من أحد الكائنات، ثم تمريرها كمعاملات إلى أحد التوابع. الحل حاول تمرير الكائن بالكامل بدلًا من ذلك. مثال قبل إعادة التصميم جلب قيمة درجة الحرارة المنخفضة low والمرتفعة high من الكائن daysTempRange ثم تمريرهما إلى التابع ()withinTange: في لغة Java: int low = daysTempRange.getLow(); int high = daysTempRange.getHigh(); boolean withinPlan = plan.withinRange(low, high); في لغة C#‎: int low = daysTempRange.GetLow(); int high = daysTempRange.GetHigh(); bool withinPlan = plan.WithinRange(low, high); في لغة PHP: $low = $daysTempRange->getLow(); $high = $daysTempRange->getHigh(); $withinPlan = $plan->withinRange($low, $high); في لغة Python: ...

تعريف كائن المُعامل (Introduce Parameter Object)

المشكلة تحتوي التوابع على نفس المجموعة المتكررة من المعاملات. الحل استبدال هذه المعاملات بكائنٍ واحد. مثال قبل إعادة التصميم تمرير نفس مجموعة المعاملات إلى توابع الصنف Customer: تحتوي التوابع على نفس المجموعة المتكررة من المعاملات. بعد إعادة التصميم تبديل كائن واحد بتلك المعاملات وتمريره إلى توابع الصنف Customer التي تشترك بنفس مجموعة المعاملات: استبدال هذه المعاملات بكائنٍ واحد. لم إعادة التصميم؟ غالبًا ما تُصادَف مجموعات متطابقة من المعاملات داخل العديد من التوابع. الأمر الذي يؤدي إلى تكرار الشيفرة البرمجية للمعاملات ...

كائنات الكتابة csvwriter‎‎ في بايثون

كائنات الكتابة هي نسخ من الصنف DictWriter وتنشأ كذلك من استدعاء الدالة writer()‎. خصائص كائنات الكتابة تمتلك كائنات الكتابة الخصائص العامة التالية: csvwriter.dialect هذه الخاصية للقراءة فقط، وتتضمن وصفًا للهجة المستخدمة بواسطة كائن الكتابة. توابع كائنات الكتابة تمتلك كائنات الكتابة التوابع العامة التالية: يجب أن يكون الصف row كائنًا قابلًا للتكرار من السلاسل النصية او الأرقام عند استخدام كائنات Writer وأن يكون قاموسًا يربط أسماء الحقول fieldnames بسلاسل نصية أو أرقام (عن طريق تمريرها عبر الدالة str()‎ في البداية) عند ...

البرمجة كائنية التوجه في PHP

بدءًا من الإصدار الخامس من اللغة، أعيدت كتابة نموذج الكائنات للحصول على أداء أفضل وإضافة المزيد من الميزات، وقد كان هذا من التغييرات الكبيرة في اللغة، إذ قدّم الإصدار الخامس نموذج مكتملًا للكائنات. ومن الميزات التي قدّمها الإصدار الخامس قابلية الرؤية (visibility)، الأصناف والتوابع المجرّدة (abstract) والنهائية (final)، المزيد من التوابع السحرية (magical methods)، الواجهات (interfaces)، الاستنساخ (cloning) والإشارة إلى الأنواع (typehinting). تعامل PHP الكائنات معاملة المراجع (references) أو المقابض (handles)، بمعنى أنّ كلّ متغيّر يتضمن كائنًا مرجعيًا وليس نسخة ...

قابلية الرؤية في كائنات PHP

يمكن تعريف قابلية رؤية خاصية أو تابع أو (بدءًا من الإصدار 7.1.0 من اللغة) ثابت بأنّها إلحاق صيغة التصريح بإحدى الكلمات المفتاحية public، أو protected، أو private. يتيح التصريح من نوع public الوصول إلى أعضاء الصنف من أي مكان، ويتيح التصريح من نوع protected الوصول إلى الأعضاء من داخل الصنف نفسه أو الأصناف التي ترث الصنف أو تورّثه، أما التصريح من نوع private فيتيح الوصول إلى الأعضاء من داخل الصنف الذي عرِّف فيه ذلك العضو حصرًا. قابلية رؤية الخاصية يجب ...

كائنات القراءة csvreader في بايثون

كائنات القراءة هي نسخ الصنف DictReader وتنشأ كذلك من الدالة reader()‎. خصائص كائنات القراءة تمتلك كائنات القراءة الخصائص العامة التالية: csvreader.dialect هذه الخاصية للقراءة فقط، وتتضمن وصفًا للهجة المستخدمة بواسطة المفسر. csvreader.line_num عدد الأسطر المقروءة من المكرِّر المصدر. يختلف هذا العدد عن عدد السجلّات المعادة، إذ يمكن للسجل الواحد أن يمتدّ لعدّة أسطر. تمتلك كائنات DictReader الخصائص العامة التالية: csvreader.fieldnames إن لم تمرّر هذه الخاصية كمعامل عند إنشاء الكائن، فإنّ هذه الخاصية تُهيّئ عند الوصول إليها لأول مرّة أو عند ...

قابلية الرؤية في كائنات PHP

يمكن تعريف قابلية رؤية خاصية أو تابع أو (بدءًا من الإصدار 7.1.0 من اللغة) ثابت بأنّها إلحاق صيغة التصريح بإحدى الكلمات المفتاحية public، أو protected، أو private. يتيح التصريح من نوع public الوصول إلى أعضاء الصنف من أي مكان، ويتيح التصريح من نوع protected الوصول إلى الأعضاء من داخل الصنف نفسه أو الأصناف التي ترث الصنف أو تورّثه، أما التصريح من نوع private فيتيح الوصول إلى الأعضاء من داخل الصنف الذي عرِّف فيه ذلك العضو حصرًا. قابلية رؤية الخاصية يجب ...

نقل الميزات ما بين الكائنات (Moving Features between Objects)

تساعد عملية إعادة التصميم (refactoring) في توزيع المهام بشكل مثاليّ على الأصناف (classes) المختلفة في الشيفرة، وتضمن تقنيات الحل هذه طريقةً آمنةً لنقل المهام (functionality) ما بين الأصناف، وإنشاء أصناف جديدة وحماية تفاصيل عملية التنفيذ (implementation) من الوصول العام (public access)، وهذه التقنيات تشمل: نقل التابع (Move Method) المشكلة: استخدام التابع (method) في صنفٍ (class) ما أكثر من استخدامه في صنفه الأساسيّ. الحل: إنشاء تابعٍ جديدٍ في الصنف الأكثر استخدامًا لذلك التابع ونقل شيفرته إلى التابع الجديد، ثم تحويل الشيفرة ...

نقل الميزات ما بين الكائنات (Moving Features between Objects)

تساعد عملية إعادة التصميم (refactoring) في توزيع المهام بشكل مثاليّ على الأصناف (classes) المختلفة في الشيفرة، وتضمن تقنيات الحل هذه طريقةً آمنةً لنقل المهام (functionality) ما بين الأصناف، وإنشاء أصناف جديدة وحماية تفاصيل عملية التنفيذ (implementation) من الوصول العام (public access)، وهذه التقنيات تشمل: نقل التابع (Move Method) المشكلة: استخدام التابع (method) في صنفٍ (class) ما أكثر من استخدامه في صنفه الأساسيّ. الحل: إنشاء تابعٍ جديدٍ في الصنف الأكثر استخدامًا لذلك التابع ونقل شيفرته إلى التابع الجديد، ثم تحويل الشيفرة ...

الخاصية ‎‎‎.jquery‎ في jQuery

الخاصية ‎.jquery القيم المعادة تعيد سلسلة نصية من النوع String. الوصف يُسند إلى هذه الخاصِّية سلسلة نصية تحتوي على رقم إصدار jQuery. jquery أُضيف مع الإصدار: 1.0. الخاصِّيَّة ‎.jquery هي سلسلة نصية تحتوي على رقم إصدار jQuery مثل "1.5.0" أو "1.4.4"، وتُسند إلى نموذج jQuery الأولي، ويشار إليها عادةً عبر الاسم البديل ‎$.fn. أمثلة تحديد إن كان كائنٌ ما هو كائن jQuery: $(function() { // أصبحت الصفحة جاهزة }); استعمال اختصار للشكل ‎$(document).ready()‎ ووسيط لكتابة شيفرة الفشل الآمن (failsafe) في jQuery ...

التصريح عن الكائنات (Object Declarations) وتعابيرها (Expressions) في لغة Kotlin

قد تحتاج في بعض الأحيان لإنشاء كائنٍ بإجراء تعديلاتٍ طفيفةٍ على أحد الأصناف (classes) بدون التصريح عن صنفٍ فرعيٍّ (subclass) له؛ تعالج لغة Java مثل هذه الحالات بالاعتماد على الأصناف الداخليّة المجهولة (anonymous inner classes)، وتُعمِّمها لغة Kotlin من خلال طرح مفهوم التصريح عن الكائنات وتعابيرها. تعابير الكائنات (Object Expressions) لإنشاء كائنٍ من صنفٍ مجهولٍ (anonymous) يرِث من نوعٍ أو أكثر تكون الشيفرة بالشكل: window.addMouseListener(object : MouseAdapter() { override fun mouseClicked(e: MouseEvent) { ...

تبديل التابع إلى كائن التابع (Replace Method with Method Object)

المشكلة وجود تابعٍ طويلٍ بالكثير من المتغيِّرات المحليّة (local variables) المتداخلة والتي تحول دون تطبيق تقنية الحل باستخراج التابع (extract method). الحل نقل التابع إلى صنفٍ (class) مستقلٍ بحيث تصبح متغيِّراته المحليّة حقولًا (fields) لهذا الصنف، وتقسيم التابع بعد ذلك إلى عدّة توابع أصغر في الصنف ذاته. مثال قبل إعادة التصميم نلاحظ وجود العديد من المتغيِّرات المحليّة في التابع price()‎ بالإضافة إلى عملياتٍ أخرى قد تكون طويلةً ومعقَّدة: في لغة Java: class Order { //... public double price() ...

تبديل قيم البيانات إلى كائنات (Replace Data Values with Objects)

المشكلة وجود حقلٍ (field) مٌخصَّص للبيانات في صنفٍ (class) ما (أو في عددٍ من الأصناف)، ولهذا الحقل بياناته وسلوكه (behaviour) المرتبط به. الحل إنشاء صنفٍ جديدٍ ليُوضَع فيه الحقل (field) بالإضافة إلى سلوكه المرتبط به، وتخزين كائنٍ (object) من هذا الصنف الجديد في الصنف الأصليّ للحقل. مثال قبل إعادة التصميم يحتوي الصنف Order على الحقل customer الذي يحتوي بيانات نصيّة (من النوع String) كما هو واضح في مخطط الأصناف الآتي: الصنف Order يحتوي على الحقل customer الذي يحتوي بيانات نصيّة. ...

الموارد في رابط الكائنات بالعلاقات Eloquent

مقدمة عند بناء واجهات برمجة التطبيقات (المدعوة اختصاراً APIs)، قد تحتاج إلى طبقة تحويل تقع بين نماذج Eloquent وردود JSON المعادة فعليًّا إلى مستخدمي تطبيقك. تمكّنك الموارد في Laravel من تحويل النماذج بشكل فعال وسهل، بما يتضمن مجموعات النماذج. توليد الموارد لتوليد صنف مورد، يمكنك استخدام أمر artisan make:resource. افتراضيًّا، تقع الموارد في المجلد app/Http/Resources الخاص بتطبيقك. ترث الموارد من الصنف الأساسي Illuminate\Http\Resources\Json\JsonResource: php artisan make:resource User موارد المجموعات إضافةً إلى توليد موارد لتحويل النماذج الأحادية، يمكنك توليد موارد مسؤولة ...

المعدلات في رابط الكائنات بالعلاقات Eloquent

مقدمة تمكّنك المعدّلات والموصّلات من تنسيق قيم خاصيّات Eloquent عند استردادها أو تعيينها على كائنات النماذج. مثلًا، يمكنك استخدام مشفّر Laravel لتشفير قيمة ما أثناء تخزينها بقاعدة لًا، ومن ثمّ فك تشفيرها تلقائيًّا عند استردادها من نموذج Eloquent. إضافةً إلى المعدلات والموصلات الافتراضية، يمكّنك Eloquent من التحويل التلقائي للخاصيات الزمنية إلى كائنات من الصنف Carbon أو حتى تحويل الخاصيات النصية إلى كائنات JSON. المعدلات والموصلات تعريف الموصل لتعريف موصل ما، عرف التابع getFooAttribute على صنف نموذجك حيث Foo هو اسم ...

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

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

كائن ردود النداء ‎callbacks‎‎ في jQuery

يُعيد التّابع ‎jQuery.Callbacks()‎، الذي قُدِّم في إصدار jQuery 1.7، كائنًا مُتعدِّد الأغراض (jQuery.callbacks‎) يُزوِّدنا بطريقة فعّالة لإدارة قائمة ردود النداء، ويدعم إضافة، وإزالة، وإطلاق، وتعطيل ردود النداء. callbacks.add()‎ يُضيف رد نداء أو مجموعة من ردود النداء إلى قائمة ردود النداء. callbacks.disable()‎ يُعطِّل قائمة ردود النداء ويمنعها من فعل أي شيء آخر. callbacks.disabled()‎ يُحدِّد ما إذا كانت قائمة ردود النداء مُعطَّلة. callbacks.empty()‎ يُزيل كافّة ردود النداء من القائمة. callbacks.fire()‎ يستدعي كافّة ردود النداء عن طريق الوسائط المُعطاة. callbacks.fired()‎ يُحدِّد ما إذا ...

العلاقات في رابط الكائنات بالعلاقات Eloquent

مقدمة في معظم الأحيان، تكون جداول قواعد البيانات مرتبطة ببعضها البعض. على سبيل المثال، قد يكون لمقالة ما الكثير من التعليقات، أو قد تكون الطلبيّة مرتبطة بالمستخدم الذي قام بها. يجعل Eloquent العمل مع هذه العلاقات أمرًا سهلًا، ويدعم عدة أنواع من العلاقات المختلفة: واحد إلى واحد (One To One) واحد إلى كثير (One To Many) كثير إلى كثير (Many To Many) الكثير ضمن (Has Many Through) العلاقات متعددة الأشكال (Polymorphic Relationships) علاقات الكثير إلى كثير متعددة الأشكال (Many To ...

المجموعات في رابط الكائنات بالعلاقات Eloquent

مقدمة إنّ جميع مجموعات النتائج المتعددة المعادة من Eloquent هي كائنات من الصنف Illuminate\Database\Eloquent\Collection، بما فيها النتائج المستردة من التابع get أو من العلاقات. يرث صنف مجموعة Eloquent من الصنف الأساسي لمجموعة Laravel، وبالتالي ترث هذه المجموعات الكثير من التوابع التي تساعد بالعمل مع المصفوفات المستخدمة مع نماذج Eloquent. بالطبع، تعمل جميع المجموعات كمكررات، مما يمكّنك من المرور على عناصرها وكأنها مصفوفات عادية: $users = App\User::where('active', 1)->get(); foreach ($users as $user) {    echo $user->name; } لكنّ المجموعات أقوى بكثير من المصفوفات، إذ تزود الكثير ...

التسلط على الكائنات الأخرى (Feature Envy)

توصيف المشكلة استخدام بعضُ التوابع (methods) بياناتِ الكائنات (objects) الأخرى أكثر ممّا تستخدم بياناتِها ذاتَها. أسبابها تحدث هذه المشكلة عقب نقل الحقول (fields) إلى أصناف البيانات (data class)، إذ من الأفضل نقلُ التوابع المستخدِمة لتلك الحقول لذلك الصنف أيضًا. وما الحل؟ لنضع بالحسبان القاعدة الآتية: يجب أن تبقى الأجزاء التي تتغيَّر بآنٍ واحدٍ في المكان ذاته معًاولتحقيق ذلك: نقلُ التوابع (move methods) إلى المكان الأنسب في الشيفرة. عندما يستخدِم جزءٌ فقط من التابع بياناتِ كائنٍ (object) آخر، فالأفضل استخراجُ تابعٍ ...

الروابط الساكنة المتأخرة في كائنات PHP

تضمن الإصدار 5.3.0 من PHP خاصية تدعى بالروابط الساكنة المتأخرة (late static bindings) والتي يمكن استخدامها للإشارة إلى الصنف المستدعى في سياق وراثة ساكنة. وبتعبير أدق تعمل الروابط الساكنة المتأخر عن طريق تخزين الصنف المسمّى في نهاية "الاستدعاء غير الموجِّه non-forwarding call". في حالة الاستدعاء الساكن للتوابع يكون هذا التابع هو التابع المصرّح عنه (يأتي عادة على يسار العامل ::) أما في حالة الاستدعاء غير الساكن للتوابع فيكون الصنف هو صنف الكائن. "الاستدعاء غير الموجِّه" هو استدعاء ساكن يقدَّم بواسطة self::‎‎‎ ...

دوال التعامل مع الكائنات والأصناف في PHP

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

مقدمة إلى رابط الكائنات بالعلاقات Eloquent

مقدمة يزود رابط الكائنات بالعلاقات Eloquent ORM المضمّن في Laravel تنفيذًا بسيطًا من أجل قواعد البيانات التي تتعامل مع الـ ActiveRecord. كل جدول في قاعدة البيانات يقابله نموذج (Model) يُستخدم للتفاعل مع هذا الجدول. تمكّنك النماذج من تنفيذ الاستعلامات على البيانات الموجودة في الجداول، إضافةً إلى إضافة البيانات الجديدة. قبل البدء، تأكد من تهيئة اتصال قاعدة البيانات في الملف config/database.php. للمزيد من المعلومات حول تهيئة قاعدة البيانات، تفقّد التوثيق المناسب. تعريف النماذج للبدء، لننشئ نموذج Eloquent. تتواجد النماذج افتراضيًّا في ...

السلسلة في رابط الكائنات بالعلاقات Eloquent

مقدمة عند بناء واجهات JSON APIs، تحتاج معظم الأوقات إلى تحويل نماذجك وعلاقاتها إلى مصفوفات أو كائنات JSON. يزود Eloquent بمجموعة من التوابع المساعدة لهذه التحويلات، إضافةً إلى التحكم بالحقول التي يجب تضمينها في التحويلات. سلسلة النماذج والمجموعات السلسلة لمصفوفات لتحويل نموذج وعلاقاته المحمّلة لمصفوفة، يمكنك استخدام التابع toArray. إن هذا التابع تعاودي، لذلك ستُحوّل كل الحقول وكل العلاقات (وعلاقات العلاقات) إلى مصفوفات: $user = App\User::with('roles')->first(); return $user->toArray(); يمكنك أيضًا تحويل مجموعة كاملة من النماذج إلى مصفوفة: $users = App\User::all(); return $users->toArray(); السلسلة ...

الروابط الساكنة المتأخرة في كائنات PHP

تضمن الإصدار 5.3.0 من PHP خاصية تدعى بالروابط الساكنة المتأخرة (late static bindings) والتي يمكن استخدامها للإشارة إلى الصنف المستدعى في سياق وراثة ساكنة. وبتعبير أدق تعمل الروابط الساكنة المتأخر عن طريق تخزين الصنف المسمّى في نهاية "الاستدعاء غير الموجِّه non-forwarding call". في حالة الاستدعاء الساكن للتوابع يكون هذا التابع هو التابع المصرّح عنه (يأتي عادة على يسار العامل ::) أما في حالة الاستدعاء غير الساكن للتوابع فيكون الصنف هو صنف الكائن. "الاستدعاء غير الموجِّه" هو استدعاء ساكن يقدَّم بواسطة self::‎‎‎ ...

yield*‎ في JavaScript

التعبير yield*‎ يُستخدَم لتفويض التنفيذ إلى دالة مولِّدة أخرى أو كائن iterable. البنية العامة yield* [[expression]]; expression التعبير الذي سيُعيد كائن iterable. الوصف سيؤدي التعبير yield*‎ إلى المرور على عناصر الكائن ويعطي كل قيمة أعادها هذا الكائن. قيمة التعبير yield*‎ نفسه هي القيمة المُعادة من الكائن iterable عند إغلاقه (أي عندما تكون قيمة الخاصية done هي true). أمثلة تفويض التنفيذ إلى دالة مولِّدة أخرى لاحظ أنَّ القيمة التي تعطيها (yield) الدالة g1()‎ ستُعاد عند استدعاء الدالة next()‎ مثل القيم ...

debugger في JavaScript

التعبير البرمجي debugger يؤدي إلى تفعيل وظيفة التنقيح (debugging functionality) المتاحة، مثل بداية نقطة المقاطعة (breakpoint)؛ لكن إن لم يكن هنالك منقِّح أو وظيفة تنقيح متاحة فلن يكون لهذا التعبير أي أثر. البنية العامة debugger; أمثلة الشيفرة الآتية فيها التعبير البرمجي debugger الذي يؤدي إلى استدعاء المنقِّح (إن كان موجودًا) عند تنفيذ الدالة function potentiallyBuggyCode() { debugger; // شيفرة غير مستقرة فيها علل يجب تنقيحها } دعم المتصفحات الميزة Chrome Firefox Internet Explorer Opera Safari ...

class في JavaScript

التصريح عن الصنف (class declaration) يؤدي إلى إنشاء صنف جديد له اسمٌ معيّن يستخدم الوراثة عبر سلسلة prototype. يمكنك أيضًا تعريف الأصناف عبر تعابير تعريف الأصناف (class expression)، لكن التصريح عن الصنف بهذه الطريقة يختلف عن استخدام تعابير تعريف الأصناف في أنَّه لا يسمح بإعادة التصريح عن الصنف مرةً أخرى، وسيرمي (throw) خطأً إن حاولنا ذلك. البنية العامة class name [extends] { // محتويات الصنف } الوصف كما في تعابير تعريف الأصناف، ستُنفَّذ التعابر البرمجية الموجودة ضمن الصنف في نمط ...

return في JavaScript

التعبير البرمجي return يؤدي إلى إنهاء تنفيذ الدالة ويُحدِّد قيمةً لتُعيدها الدالة إلى التعبير الذي استدعاها. البنية العامة return [[expression]]; expression التعبير البرمجي الذي ستُعاد قيمته، وإذا لم يُحدَّد فستُعاد القيمة undefined. الوصف عندما يُستخدَم التعبير البرمجي return في جسم الدالة، فسيتوقف تنفيذ الدالة؛ وستُعاد القيمة المعطية (إن وجِدَت) إلى التعبير الذي استدعى الدالة. فعلى سبيل المثال، ستعيد الدالة الآتية مربّع الوسيط x، على أن يكون الوسيط x رقميًا: function square(x) { return x * x; } var demo = ...

كائنEvalError في JavaScript

الكائن EvalError يُشير إلى حدوث خطأ في الدالة العامة eval()‎. من المهم ملاحظة أنَّ هذا الاستثناء لم يعد يرمى من لغة JavaScript؛ لكن الكائن EvalError قد بقي لأغراض التوافقية. البنية العامة new EvalError([message]) message وسيط اختياري، وهو وصفٌ نصيٌّ للخطأ موجَّهٌ للبشر. الخاصيات والدوال التابعة للدالة البانية EvalError الخاصيات EvalError.prototype تُمثِّل هذه الخاصية كائن prototype التابعة للكائن EvalError. الدوال الدالة البانية EvalError لا تملك أيّة دوال تابعة لها مباشرةً، وإنما ترث بعض الخاصيات عبر سلسلة prototype. الكائن prototype الخاصيات EvalError.prototype.constructor ...

undefinedفي JavaScript

الخاصية العامة undefined تُمثِّل القيمة الأوليّة undefined في JavaScript. سمات الخاصية undefined قابلة للكتابة لا قابلة للإحصاء لا قابلة للضبط لا البنية العامة undefined الوصف الخاصية undefined هي خاصيةٌ للكائن العام (global object) أي أنها متغيرٌ في المجال العام، والقيمة الابتدائية للخاصية undefined هي نوع البيانات الأوليّ undefined. الخاصية undefined غير قابلة للضبط وغير قابلة للكتابة في المتصفحات الحديثة (بدءًا من معيار ECMAScript 5)، لكن مع ذلك حاول تجنّب الكتابة عليها. المتغيرات التي لم تُسنَد لها قيمةٌ سيكون نوعها هو ...

switch في JavaScript

التعبير البرمجي switch يُستخدَم لمطابقة قيمة تعبير برمجي باستخدام عبارة case، ثم يُنفِّذ التعابير البرمجية المرتبطة معها. البنية العامة switch (expression) { case value1: // التعابير البرمجية التي ستُطبِّق // عندما تُطابِق قيمةُ التعبير قيمةَ الحالة [break;] case value2: // التعابير البرمجية التي ستُطبِّق // عندما تُطابِق قيمةُ التعبير قيمةَ الحالة [break;] ... case valueN: ...

yield في JavaScript

الكلمة المحجوزة yield تُستخدَم لإيقاف تنفيذ دالة مولِّدة (function*‎) مؤقتًا واستئناف تنفيذها. البنية العامة [rv] = yield [expression]; expression تعريف القيمة التي ستُعاد من الدالة الموِّلدة عبر بروتوكول iterator، وإذا لم تُحدَّد هذه القيمة فستُعاد القيمة undefined. rv إسناد القيمة الاختيارية المُمرَّرة إلى الدالة next()‎ التي تُستخدَم لاستئناف التنفيذ. الوصف الكلمة المحجوزة yield توقف تنفيذ دالة مولِّدة مؤقتًا وستُعاد قيمة التعبير الذي يلي الكلمة المحجوزة yield إلى التعبير البرمجي الذي استدعى الدالة المولِّدة؛ ويمكن عدّ الكلمة المحجوزة yield على أنها ...

throw في JavaScript

التعبير البرمجي throw يؤدي إلى رمي استثناء (exception) يُعرِّفه المستخدم، وسيؤدي ذلك إلى توقف تنفيذ الدالة الحالية (أي أنَّ التعابير البرمجية بعد throw لن تُنفَّذ) وسينتقل التنفيذ إلى أوّل catch، وإذا لم تكن موجودةً فسينتهي تنفيذ البرنامج. البنية العامة throw expression; expression التعبير الذي سيُرمى. الوصف يُستخدَم التعبير throw لرمي استثناء، وعندما ترمي استثناءً فإنَّ قيمة expression تُحدِّد ما هي قيمة الاستثناء. أمثلة: throw 'Error2'; // توليد استثناء له قيمة نصية throw 42; // توليد استثناء ...

const في JavaScript

الثوابت (constants) تكون تابعةً للمجال الكتلي (block scope) بما يُشبه المتغيرات المُعرَّفة عبر التعبير let، لكن قيمة الثوابت لا يمكن أن تتغير عبر إعادة إسناد القيمة، ولا يمكن إعادة تصريحها. البنية العامة const name1 = value1 [, name2 = value2 [, ... [, nameN = valueN]]]; nameN اسم الثابت، ويمكن أن يكون أيّ معرِّف صالح في JavaScript. valueN قيمة الثابت، ويمكن استخدام أيّ تعبير (expression) صالح في JavaScript بما في ذلك الدوال. الوصف تكون الثوابت إما عامةً أو محليةً وتابعةً ...

if...else في JavaScript

التعبير البرمجي الشرطي (if statement) يُستخدَم لتنفيذ تعبير برمجي معيّن عندما يكون الشرط محققًا، وإذا كان الشرط غير محققٍ فسيُنفِّذ تعبيرًا برمجيًا آخر. البنية العامة if (condition) statement1 [else statement2] condition تعبيرٌ يمكن أن يكون محققًا (true) أو غير محقق (false). statement1 التعبير البرمجي الذي سيُنفَّذ عندما يكون الشرط condition محققًا، ويمكن أن يكون هذا التعبير أيّ تعبيرٍ صالحٍ بما في ذلك تعابير if المتشعبة، ويمكن إنشاء قسم كتلي { ... } لتجميع أكثر من تعبير برمجي ...

JavaScript/Topics

الكائنات العامة في هذا القسم جميع الكائنات العامة المُضمَّنة في لغة JavaScript، إضافةً إلى جميع الخاصيات والدوال التابعة لها. الخاصيات العامة هذه الخاصيات العامة تُعيد قيمةً بسيطةً، فهي لا تُمثِّل دوالًا أو خاصياتٍ تابعة لأحد الكائنات. Infinity NaN undefined null الدوال العامة هذه الدوال العامة -أي التي تستدعى في النطاق العام بدل استدعائها على كائن بعينه- تُعيد نتائجها إلى التعبير البرمجي الذي استدعاها. eval()‎‎ isFinite()‎ isNaN()‎ parseFloat()‎ parseInt()‎ decodeURI()‎ decodeURIComponent()‎ encodeURI()‎ encodeURIComponent()‎ escape()‎ unescape()‎ الكائنات الأساسية هذه هي الكائنات الأساسية ...

المعامل in في JavaScript

المعامل in يُعيد القيمة true إذا كانت الخاصية المُحدَّدة موجودةً في الكائن أو في سلسلة prototype الخاصة به. البنية العامة prop in object prop سلسلة نصية أو رمز يُمثِّل اسم الخاصية أو فهرس المصفوفة. object الكائن الذي سنتحقق من وجود الخاصية فيه أو في سلسلة prototype الخاصة به. الوصف يوضِّح المثال الآتي بعض حالات استخدام المعامل in: // المصفوفات var trees = ['redwood', 'bay', 'cedar', 'oak', 'maple']; 0 in trees // true 3 in trees ...

عرض (250 السابقة | 250 التالية) (20 | 50 | 100 | 250 | 500).