نحو إخطاطة جافا

تصغير|مثال لبرنامج بلغة جافا.
**نحو إخطاطة جافا** هو مجموعة من القواعد لكتابة برنامج مفهوم من قبل الحاسوب.

## المتغيرات Variables

تعتبر كذاكرات تحفظ قيما وتحمل اسمًا معينًا ويمكن استرجاع القيمة أو تعديلها أثناء التشغيل الفعلي للكود (Run time)، كما أنه يمكن تعديل نوع البيانات (Data Type) المخزنة في هذا المتغير أيضًا للبرنامج وتسمى هذه الخاصية تغيير النوع التفاعلي (Dynamic Typing) وتقوم بإنشاء المتغيرات.

في السابق كان على المبرمج استخدام كلمة var، لتعريف (variable) جديد، أما في التحديثات الأخيرة للغة الجافاسكريبت تمت إضافة كلمة let لتعريف (variable)، وذلك لحل مشكلة النطاق المتغير في الدوال 

```javascript
var a = 1;
var b = 2;

if (a === 1) {
  var a = 11; // النطاق (global) عالي
  let b = 22; //النطاق محلي، فقط داخل الدالة

  console.log(a);  // 11
  console.log(b);  // 22
}

console.log(a); // 11
console.log(b); // 2
```


كما يمكن للمبرمج استخدام كلمة const لتعريف مكان جديد في ذاكرة البرنامج لحفظ قيمة ثابتة، لا يمكن تعديلها لاحقاً. انظر للمرجع لتفاصيل أكثر.

## الكائنات Objects
الكائنات Objects مثلا هي الصور والأزرار والصفحات والبيانات وكل ما في ذاكرة الحاسب من أشياء يتم التعامل معها كأنها كائنات. وكل كائن له خصائص تميزه وطرق (Methods) ووظائف (Functions) تستخدم للتعامل مع كل كائن للقيام بالوظائف الخاصة به.
```javascript
var obj = new Object();
obj.name = "wikipedian";
obj.age = 18;

//أو
var obj = {
    name: "wikipedian",
    age: 18
}
```


## الدوال Functions
وتسمى أيضا **الوظائف**، وهي تجمع عدة تعليمات (Instructions) تحت اسم مرجعي واحد. فمثلاً لطلب أن يقوم المتصفح بإظهار رسالة معينة للمستخدم ثم تلقي الإجابة منه نقوم بجمع هذه التعليمات في دالة (وظيفة) واحدة، وكلما تطلب الأمر تنفيذ نفس التعليمات السابقة نقوم باستخدام هذه الدالة فوراً دون الحاجة لكتابة التعليمات مرة أخرى.

توجد عدة طرق لتعريف (إنشاء) الدوال، أشهرها كتابة الكلمة المحجوزة **function** يتبعها اسم الدالة وعلامة () وثم يتم فتح جسم الدالة {} وكتابة الجمل البرمجية التي ستنفذها تلك الدالة.

ما يميز استخدام هذه اللغة في الويب هو مرونتها حتى في إعادة تعريف الدوال والمتغيرات بأحرف مرمزة بلغة أخرى مثل العربية، وأبرز مثال هو برنامج المعالج الرياضي. مع أنه لا يفضل استخدام لغات غير الإنكليزية إلا أن الغرض هو إظهار مرونة هذه اللغة وتبسيط الدوال للطلبة الذين لا يجيدون اللغة الإنجليزية.
```javascript
function hello(){
    var text = "Hello, World!";
    alert(text);
}
```


## الشرطيات Conditions
* **المقارنة بين القيم**

**الشرطيات** هي مجموعة تعليمات تنفذ في حالة تحقق شرط معين، منها:
* **if**
شرطية «إذا» تقوم بتنفيذ مجموعة من المهام إذا تحققت الشروط.
```javascript
if (شرط1) {
  //إذا تحقق الشرط أعلاه، سيتم تنفيذ ما هو موجود هنا
} else if (شرط2) {
  //إذا لم يتحقق الشرط الأول، وتحقق الشرط الثاني، فسينفذ ما يوجد هنا
} else {
  //إذا لم يتحقق إي من الشرطين السابقين، سيتم تنفيذ ما هو موجود هنا
}
```

* **switch**

```javascript
switch (expr) {
  case SOMEVALUE:
   //statements;
   break;
  case ANOTHERVALUE:
   //statements;
   break;
  default:
   //statements;
   break;
 }
```

```javascript
function print(){
  window.alert("welcome"); 
}
```


## التكراريات Loops

تمكن من تنفيذ مجموعة تعليمات بطريقة تكرارية أو دورية. منها:
* **for**

تقوم بتكرار عمل ما، مادام الشرط محققاً. وفي كل مرة، يتم تنفيذ عملية على الشرط لتغييره (زيادة، نقصان، إلخ)
```javascript
for (initial; condition; loop statement) {
  // التغيير     الشرط      البداية
  
  /*
  الجمل البرمجية التي يتم تنفيذها في كل تكرار
  مادام الشرط محققا
  */
 }
```

* **while**
تقوم بتكرار سلسلة من العمليات ما **دام** الشرط محقق.
```javascript
while (شرط) {
// المهام
}
```

* **do ... while**
مثل تكرارية while
```javascript
do {
// المهام
} while (الشرط);
```


## انظر أيضا
* جافا سكريبت
## مراجع

تصنيف:نحو لغات البرمجة
تصنيف:جافا سكريبت