شبيبة تعليمي

شبيبة المنزل مقدمة شبيبة شبيبة إلى أين إخراج JS بيانات شبيبة بناء جملة JS تعليقات JS متغيرات JS JS Let شبيبة كونست مشغلي JS شبيبة الحساب احالة JS أنواع بيانات JS وظائف JS كائنات JS أحداث شبيبة سلاسل شبيبة طرق سلسلة JS بحث سلسلة JS JS String Templates أرقام شبيبة طرق عدد JS صفيفات JS طرق صفيف JS ترتيب صفيف JS تكرار صفيف JS JS Array Const تواريخ شبيبة تنسيقات التاريخ JS طرق الحصول على تاريخ JS طرق تعيين تاريخ JS شبيبة الرياضيات شبيبة عشوائية شبيبة منطقية مقارنات شبيبة شروط JS مفتاح JS JS Loop For JS Loop For In. شبيبة حلقة JS لـ Of شبيبة حلقة بينما شبيبة استراحة شبيبة تكرارات مجموعات JS خرائط شبيبة شبيبة تايبوف JS نوع التحويل شبيبة Bitwise JS RegExp أخطاء JS شبيبة النطاق رفع JS وضع JS الصارم شبيبة هذه الكلمة دالة سهم JS فئات JS شبيبة شبيبة تصحيح أخطاء JS دليل أسلوب JS أفضل ممارسات JS أخطاء JS أداء JS شبيبة الكلمات المحجوزة

إصدارات JS

إصدارات JS JS 2009 (ES5) شبيبة 2015 (ES6) شبيبة 2016 شبيبة 2017 شبيبة 2018 شبيبة آي إي / إيدج تاريخ شبيبة

كائنات JS

تعريفات الكائن خصائص الموضوع طرق الكائن عرض الكائن موصلي الكائنات منشئو الكائنات نماذج الكائن كائن تكرارات مجموعات الكائن خرائط الكائن مرجع الكائن

وظائف JS

تعريفات الوظائف معلمات الوظيفة استدعاء الوظيفة استدعاء الوظيفة تطبيق الوظيفة عمليات إغلاق الوظائف

فئات JS

مقدمة عن الفصل الوراثة الطبقية فئة ثابتة

شبيبة آسينك

عمليات الاسترجاعات JS شبيبة غير متزامن وعود شبيبة شبيبة Async / انتظار

JS HTML DOM

مقدمة DOM طرق DOM مستند DOM عناصر DOM DOM HTML نماذج DOM DOM CSS الرسوم المتحركة DOM أحداث DOM مستمع أحداث DOM التنقل في DOM عقد DOM مجموعات DOM قوائم عقدة DOM

متصفح JS BOM

نافذة JS شاشة JS موقع JS تاريخ شبيبة شبيبة ملاح تنبيه منبثق لـ JS توقيت شبيبة ملفات تعريف الارتباط JS

JS Web APIs

مقدمة واجهة برمجة تطبيقات الويب واجهة برمجة تطبيقات نماذج الويب واجهة برمجة تطبيقات سجل الويب واجهة برمجة تطبيقات تخزين الويب Web Worker API واجهة برمجة تطبيقات جلب الويب واجهة برمجة تطبيقات تحديد الموقع الجغرافي على الويب

شبيبة أجاكس

مقدمة أجاكس أجاكس XMLHttp طلب AJAX استجابة AJAX ملف AJAX XML أجاكس بي إتش بي أجاكس آسيا والمحيط الهادئ قاعدة بيانات أجاكس تطبيقات أجاكس أمثلة AJAX

شبيبة شبيبة

مقدمة JSON بناء جملة JSON JSON مقابل XML أنواع بيانات JSON تحليل JSON تنسيق JSON كائنات JSON صفائف JSON خادم JSON JSON PHP JSON HTML جسون جسونب

JS مقابل jQuery

محددات jQuery jQuery HTML jQuery CSS jQuery DOM

شبيبة الرسومات

شبيبة الرسومات قماش شبيبة شبيبة بلوتلي JS Chart.js مخطط جوجل JS شبيبة D3.js

أمثلة JS

أمثلة JS JS HTML DOM إدخال JS HTML كائنات JS HTML أحداث HTML متصفح JS محرر JS تمارين شبيبة شبيبة مسابقة شهادة JS

مراجع JS

كائنات جافا سكريبت كائنات HTML DOM


سلاسل جافا سكريبت

سلاسل JavaScript مخصصة لتخزين النص ومعالجته.

سلسلة JavaScript هي صفر أو أكثر من الأحرف المكتوبة داخل علامات الاقتباس.

مثال

let text = "John Doe";

يمكنك استخدام علامات الاقتباس المفردة أو المزدوجة:

مثال

let carName1 = "Volvo XC60";  // Double quotes
let carName2 = 'Volvo XC60';  // Single quotes

يمكنك استخدام علامات الاقتباس داخل سلسلة ، طالما أنها لا تتطابق مع علامات الاقتباس المحيطة بالسلسلة:

مثال

let answer1 = "It's alright";
let answer2 = "He is called 'Johnny'";
let answer3 = 'He is called "Johnny"';

طول سلسلة

للعثور على طول سلسلة ، استخدم lengthالخاصية المضمنة:

مثال

let text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let length = text.length;


هروب الشخصية

نظرًا لأنه يجب كتابة السلاسل بين علامتي اقتباس ، فإن JavaScript ستسيء فهم هذه السلسلة:

let text = "We are the so-called "Vikings" from the north.";

سيتم تقطيع السلسلة إلى "نحن من يسمى".

الحل لتجنب هذه المشكلة ، هو استخدام حرف الهروب من الخط المائل العكسي .

يحول حرف الهروب الشرطة المائلة للخلف ( \) الأحرف الخاصة إلى أحرف سلسلة:

Code Result Description
\' ' Single quote
\" " Double quote
\\ \ Backslash

يُدرج التسلسل \"  علامة اقتباس مزدوجة في سلسلة نصية:

مثال

let text = "We are the so-called \"Vikings\" from the north.";

يُدرج التسلسل \'  علامة اقتباس مفردة في سلسلة نصية:

مثال

let text= 'It\'s alright.';

يُدرج التسلسل \\  شرطة مائلة للخلف في سلسلة:

مثال

let text = "The character \\ is called backslash.";

ستة تسلسلات هروب أخرى صالحة في JavaScript:

Code Result
\b Backspace
\f Form Feed
\n New Line
\r Carriage Return
\t Horizontal Tabulator
\v Vertical Tabulator

تم تصميم أحرف الهروب الستة أعلاه في الأصل للتحكم في الآلات الكاتبة والطباعة وأجهزة الفاكس. لا معنى لها في HTML.


كسر أسطر التعليمات البرمجية الطويلة

للحصول على أفضل سهولة في القراءة ، يحب المبرمجون غالبًا تجنب أسطر التعليمات البرمجية التي تزيد عن 80 حرفًا.

إذا كانت جملة JavaScript لا تتناسب مع سطر واحد ، فإن أفضل مكان لكسرها هو بعد عامل التشغيل:

مثال

document.getElementById("demo").innerHTML =
"Hello Dolly!";

يمكنك أيضًا تفكيك سطر كود داخل سلسلة نصية بشرطة مائلة واحدة للخلف:

مثال

document.getElementById("demo").innerHTML = "Hello \
Dolly!";

الطريقة \ليست هي الطريقة المفضلة. قد لا تحظى بدعم عالمي.
لا تسمح بعض المتصفحات بمسافات خلف \الحرف.

الطريقة الأكثر أمانًا لتفكيك الوتر هي استخدام إضافة سلسلة:

مثال

document.getElementById("demo").innerHTML = "Hello " +
"Dolly!";

لا يمكنك تفريق سطر كود بشرطة مائلة للخلف:

مثال

document.getElementById("demo").innerHTML = \
"Hello Dolly!";

سلاسل JavaScript ككائنات

عادةً ما تكون سلاسل JavaScript عبارة عن قيم أولية تم إنشاؤها من العناصر الحرفية:

let x = "John";

لكن يمكن أيضًا تعريف السلاسل ككائنات تحتوي على الكلمة الأساسية new:

let y = new String("John");

مثال

let x = "John";
let y = new String("John");

لا تقم بإنشاء كائنات سلاسل.

الكلمة الأساسية تعقد newالكود وتبطئ سرعة التنفيذ.

يمكن أن تنتج كائنات السلسلة نتائج غير متوقعة:

عند استخدام ==عامل التشغيل ، x و y متساويان :

let x = "John";
let y = new String("John");

عند استخدام عامل التشغيل ، لا تتساوى=== x و y :

let x = "John";
let y = new String("John");

لاحظ الفرق بين (x==y)و (x===y).

(x == y)صحيحة أو خاطئة؟

let x = new String("John");
let y = new String("John");

(x === y)صحيحة أو خاطئة؟

let x = new String("John");
let y = new String("John");

تؤدي المقارنة بين كائنين من عناصر JavaScript إلى إرجاع خطأ .

مرجع سلسلة كاملة

للحصول على مرجع سلسلة كامل ، انتقل إلى:

أكمل مرجع سلسلة JavaScript .

يحتوي المرجع على أوصاف وأمثلة لجميع خصائص السلسلة وطرقها.

اختبر نفسك مع التمارين

ممارسه الرياضه:

استخدم lengthالخاصية لتنبيه طول txt.

let txt = "Hello World!";
let x = ;
alert(x);