JS (Part 2)
JS (Part 2)
تمهيد :
JavaScript هً لغة برمجة كائنٌة التوجه أو لغة البرمجة الشٌئٌة oop
Objectsتتكون من Attributes
وإذا كانت هذه attributeتحتوي على ، functionففى هذه الحالة تسمى method
وإذا كانت هذه attributeال تحتوي على ، functionففى هذه الحالة تسمى property
: Object Propertiesخصائص الكائن
أنواع بٌانات خصائص الكائن :لد تكون خصائص الكائنات أى نوع من األنواع التالٌة
: primitive data types أنواع البٌانات األولٌة وهى numberو booleanو string
: abstract data types أنواع البٌانات المجردة مثل object
لد تكون خصائص الكائن عبارة عن ٌ local variableتم استخدامها داخلًٌا فً ، methodsولد
تكون global variablesأو ٌ visible variableتم استخدامها بشكل عام خالل الصفحة.
فى السطر السابك حجزنا متغٌر اسمه " "anyNameوخصصنا فٌه لٌمة الخاصٌة
مثال :فى المثال التالى نستخدم الدالة writeلطباعة أى محتوى نرٌده داخل document
: User-Defined Objectsكائنات معرفة من لبل المستخدم
جمٌع الكائنات المعرفة من لبل المستخدم تسمى user-defined objectsوالكائنات المعرفة مسبما ً
داخل اللغة تسمى built-in objectsوهً عبارة عن سالالت للكائن descendants of object
والتى ترث من الكائن الذى ٌسمى ""Object
مثال :
الحظ الناتج
الحظ الناتج
الحظ الناتج
فى المثال السابك نالحظ أننا لد استخدمنا الطرٌمة الثانٌة النشاء كائن create objectثم لمنا
بتخصٌص propertiesوأٌضا ً لمنا بتعٌٌن methodاسمها addpriceللكائن book
ٌ : The 'with' Keywordمكن استخدام الكلمة المحجوزة withكنوع من لالشارة إلى خصائص
الكائن object propertiesأو دوال الكائن object methodsبطرٌمة مختصرة
Object الذى ٌستخدم ٌ withعتبر default objectولذلن ٌمكن استخدام كالً من propertiesو
methodsلهذا الكائن بدون استخدام اسم الكائن naming the objectوبدون استخدام النمطة ( ) .
مثال :
الحظ الناتج
ال داعً للملك بشأن Number Objectألن المتصفح ٌموم تلمائًٌا بتحوٌل المٌم الحرفٌة العددٌة
number literalsإلى فئة المثٌلة العدد instances of the number class
ٌ تم كتابة الرلم بداخل الموسٌن مكان كلمة numberولكن عندما نموم بادخال لٌمة غٌر رلمٌة بٌن
الموسٌن أو ما ٌسمى بالبارامٌتر argumentفلن ٌتم تحوٌل argumentإلى لٌمة رلمٌة وسوف
ٌموم بارجاع لٌمة NaNأى ()Not-a-Number
ال داعً للملك بشأن String Objectألن المتصفح ٌموم تلمائًٌا بتحوٌل بٌن string primitives
وبٌن ، String objectsفٌمكنن استدعاء أي من الطرق المساعدة String objectوتنفٌذها على
.string primitive
ٌ تم كتابة المٌمة النصٌة بداخل الموسٌن مكان كلمة string
البارامٌترات التى نمررها للمصفوفة Array parameterهً عبارة عن listمن السالسل النصٌة
stringsأو األعداد الصحٌحة integers
عند تحدٌد معامالت رلمٌة مفردة باستخدام ، constructorفإنن تحدد الطول المبدئً للمصفوفة.
الحد األلصى المسموح به للمصفوفاتهو هو 4,294,967,295
ٌ بدأ العد أو الفهرسة indexللمصفوفة من الرلم 0
العنصر األول ٌبدأ ب ][0
العنصر الثانى ٌبدأ ب ][1
العنصر الثالث ٌبدأ ب ][2
ال ٌمكن كتابة أكثر من نوع داخل المصفوفة ولكن ٌجب كتابة نوع واحد فمط
: Array Propertiesالخصائص الخاصة بالكائن Array
Property Description
length خبصٞخ ىزؾذٝذ غ٘ه ػْبصش اىَصف٘فخ
prototype خبصٞخ صبثزخ ىينبئْبد رغزخذً ىزؼ ِٞٞخصبئص ٗدٗاه عذٝذح ىينبئْبد فٜ
documentاىؾبىٞخ
constructor خبصٞخ رغزخذً ىزشعغ اىذاىخ اىز ٜأدد إى ٚإّشبء ٕزا اىنبئِ اىقَٞخ االفزشاظٞخ
ْٕب ٕArray object ٚ
input ٕزٓ اىخبصٞخ ٍ٘ع٘دح فقػ ف ٜاىَصف٘فبد اىز ٜرٌ إّشبؤٕب ث٘اعطخ ٍطبثقبد
اىزؼجٞش اىؼبدregular expression matches ٛ
index خبصٞخ رغزخذً ىزشعغ قَٞخ indexػْذ قَٞخ ٍ stringؼِٞ
:Date التارٌخ هو نوع من انواع البٌانات المضمن داخل لغة java script
ٌ تم إنشاء objectمن Dateعن طرٌك ) (new Date
: pattern النمط
هو عبارة عن stringبٌحدد patternللتعبٌر المنطمى regular expression
: attributes الخصائص
هو عبارة عن stringاختٌارى ٌحتوى على 3خصائص وهى :
global matches: "g" التً تحدد مطابمات عالمٌة
case-insensitive matches: "i" التً تحدد مطابمات غٌر حساسة لحالة األحرف
multiline matches : "m" التً تحدد مطابمات مجموعات متعددة
سوف نتعرف على بعض الرموز التى لها معنى داخل لغات البرمجة
أوال ا : Brackets :األلواس المعكوفة ( [ ] )
لها معنى خاص عند استخدامها فً سٌاق التعبٌرات العادٌة حٌث ٌتم استخدامها للعثور على
مجموعة من الحروف range of characters
الحظ الجدول التالى للتعرف على معنى كل Brackets
Expression Description
][... أ ٛؽشف ٗاؽذ ث ِٞق٘عِٞ
][^... أ ٛؽشف ٗاؽذ ىٞظ ث ِٞاألق٘اط
][0-9 ٝزطبثق ٍغ أ ٛسقٌ ػشش 0 ٍِ ٛإى9 ٚ
][a-z ٝزطبثق ٍغ أ ٛؽشف ٍِ أؽشف صغٞشح aإى ٚاألؽشف صغٞشح z
][A-Z ٝزطبثق ٍغ أ ٛؽشف ٍِ األؽشف اىنجٞشح Aإى ٚاألؽشف اىنجٞشح Z
][a-Z ٝزطبثق ٍغ أ ٛؽشف ٍِ أؽشف صغٞش aإى ٚاألؽشف اىنجٞشح Z
ف ٜاىخزبً أؽججذ أُ أّ٘ٓ ػي ٚثؼط اىزْجٖٞبد اىََٖخ فٖزا اىنزبة ٕ٘ ّبرظ عٖذ ال ٝؼئَ إال هللا ٍِٗ اإلّصبف أُ ٝؼيمٌ
مو ٍِ ٝقشأ ٕزا اىنزبة أّٔ ىٞظ ٍغٖ٘د ٙفؾغت ٗإَّب ٕ٘ ٍغٖ٘د ّقمو ٗرشعَمخ ٗرصمؾٞؼ ٍفمبٕٗ ٌٞثؾمش ٍمِ اىَ٘اقمغ
اىَشمممٖ٘سح فممم ٜػمممبىٌ اى٘ٝمممت ٍٗمممِ أشمممٖش ٕمممزٓ اىَ٘اقمممغ اىزممم ٜمبّمممذ اىَشعمممغ اىشئٞغممم ٜىنزبثمممخ ٕمممزا اىنزمممبة ٍ٘قمممغ
ٍ٘ٗ https://www.w3schools.com/قغ ٗ https://www.tutorialspoint.comثؼط اىَ٘قغ اٟخش. ٙ
مَب ٝغت أُ ٝؼيٌ مو ٍِ ٝقشأ ٕزا اىنزبة أُ ٕزا اىنزبة إَّب ٕ٘ ثَضبثخ ٍقذٍخ ىذخ٘ىل ىيغخ Java scriptخبصخ ٗػبىٌ
اى٘ٝت ػبٍخ ٗ ،أال ٝغت أال ٝنُ٘ ٕزا اىنزبة ٕ٘ ٍشعؼل األعبع ٜألُ ٍمغ ٍمشٗس اى٘قمذ ّغمذ إّمٔ ٝؾمذس رغٞمشاد فمٜ
ىغخ ٗ java scriptىزىل ٝغت ػيٞل دائَب أُ رنُ٘ ػي ٚػٖذ ثٖزٓ اىزغٞشاد ٗاىزط٘ٝشاد اىز ٜرزؾذس ثشنو ٍغزَش .
ٗٝغؼذّ ٜأُ أخجشمٌ ثأُ ٕمزا اىنزمبة ٕم٘ صبىمش مزمبة فم ٜعيغميزٗ ٜاىزم ٜػْ٘اّٖمب اىطشٝمق إىم ٚػمبىٌ رصمَ ٌٞصمفؾبد
اى٘ٝت ٗ . The way to Web designاّزظشّٗ ٜف ٜاىغضء اىضبىش ٍِ ششػ عيغيخ . The way to Java script
مَمممب أّصمممؼ أؽجمممبث ٜدائَمممب ً أُ ٝغمممؼ٘ا إىممم ٚاىؼيمممٌ ٗاىمممزؼيٌ فَٖمممب اىغمممجٞالُ ىؾٞمممبح األٍمممٌ ٗىْٖعمممخ اىشمممؼ٘ة ٗسقمممٜ
اإلّغبُ ،مَب أرمشمٌ ثق٘ه ثؼط اىؼيَبء " :صمبح اىَبه أخشاعٔ ٗصمبح اىؼيٌ أُ رؼئَ ىغٞشك".
ٕممزا اىنزممبة ٕمم٘ صممذقخ عبسٝممخ ػممِ ّفغممٗ ٜإٔممو ثٞزممٗ ٜأؽجممبثٗ ، ٜأعممأه هللا أُ ٝزقجممو ٕممزا اىؼَممو ٗٝغيؼممٔ خبىصممب ً
ى٘عٖممٔ اىنممشٗ . ٌٝمَممب ٗظممؼزٔ ثمم ِٞأٝممذمٌ ىزْممبى٘ا ٍْممٔ ػيَ مب ً ٗىمم٘ مممبُ ٝغممٞشا ً ،فَٞنممْنٌ أٝع مب ً ّشممشٓ ػيمم ٚأٍ٘ ٛقممغ
ٗرؼمممذٝو ٍؾزممم٘آ ثَمممب ٝخمممذً اىْمممبط ٗاالقزجمممبط ٍْمممٔ أٝعمممب ً مَمممب رشمممبء ُٗ ثمممذُٗ اعمممزئزاٍُٗ .مممِ ٝشغمممت فمممّ ٜغمممخخ
ٕ ٍِ Wordزا اىنزبة فَٞنْٔ أُ ٝشاعيْ ٚػي ٚاإلَٞٝالد .
سؽممٌ هللا سعممالً إٔممذ ٙىمم ٜػٞمم٘ث ، ٜأسعمم٘ ٍممِ مممو شممخص ٝقممشأ ٕممزا اىنزممبة إرا ٗقممف ػْممذ خطممأ ػيَمم ٚأٗ خطممأ
إٍالئمممم ٜأٗ ٍؼيٍ٘ممممخ قممممذ ٝغممممبء فَٖٖممممب أُ ٝشاعمممميْ ٜػيمممم ٚاإلَٝممممٞالد اٟرٞممممخ ىنمممم ٚأقممممً٘ ثإصممممالؽٔ فمممم ٜاىطجؼممممبد
اٟخش ، ٙمَب أسع٘ أال رْغّ٘ب ٍِ صبىؼ دػ٘ارنٌ .
E-mail : [email protected]
E-FaceBook : Mahmoud Soliman
Youtube : https://www.youtube.com/channel/UCfZvWjnYnfxI55v4LNhBekA
نححميم جميع انكحب انخبصة بنب يمكن محببعة قنبجي عهى انحيهيجزاو من خالل هذا انزابط :
Telegram Channel: https://t.me/joinchat/-aC4Ps0pna5lY2M0
نححميم جميع انكحب انخبصة بنب يمكن محببعة صفححنب عهى انفيس بوك من خالل هذا انزابط :
Public Page: Help-me-page
Mahmoud Soliman