شبيبة تعليمي

شبيبة المنزل مقدمة شبيبة شبيبة إلى أين إخراج 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


أرقام جافا سكريبت


جافا سكريبت لديها نوع واحد فقط من الأرقام. يمكن كتابة الأرقام مع الكسور العشرية أو بدونها.


مثال

let x = 3.14;    // A number with decimals
let y = 3;       // A number without decimals

يمكن كتابة الأعداد الكبيرة جدًا أو الصغيرة جدًا باستخدام التدوين العلمي (الأس):

مثال

let x = 123e5;    // 12300000
let y = 123e-5;   // 0.00123


أرقام JavaScript هي دومًا نقطة عائمة 64 بت

على عكس العديد من لغات البرمجة الأخرى ، لا تحدد JavaScript أنواعًا مختلفة من الأرقام ، مثل الأعداد الصحيحة والقصيرة والطويلة والعائمة وما إلى ذلك.

يتم تخزين أرقام JavaScript دائمًا كأرقام فاصلة عائمة مزدوجة الدقة ، وفقًا لمعيار IEEE 754 الدولي.

يخزن هذا التنسيق الأرقام في 64 بت ، حيث يتم تخزين الرقم (الكسر) في البتات من 0 إلى 51 ، والأس في البتات من 52 إلى 62 ، وتسجيل الدخول بت 63:

القيمة (ويعرف أيضًا باسم الكسر / الجزء العشري) الأس لافتة
52 بت (0-51)  11 بت (52-62) 1 بت (63)

دقة عدد صحيح

الأعداد الصحيحة (الأرقام بدون نقطة أو رمز الأس) دقيقة حتى 15 رقمًا.

مثال

let x = 999999999999999;   // x will be 999999999999999
let y = 9999999999999999;  // y will be 10000000000000000

الحد الأقصى لعدد الكسور العشرية هو 17.

الدقة العائمة

حساب الفاصلة العائمة ليس دقيقًا دائمًا بنسبة 100٪:

let x = 0.2 + 0.1;

لحل المشكلة أعلاه ، من المفيد الضرب والقسمة:

let x = (0.2 * 10 + 0.1 * 10) / 10;


جمع الأرقام والسلاسل

تحذير !!

يستخدم JavaScript عامل التشغيل + للإضافة والتسلسل.

تمت إضافة الأرقام. السلاسل متسلسلة.

إذا أضفت رقمين ، فستكون النتيجة رقمًا:

مثال

let x = 10;
let y = 20;
let z = x + y;

إذا أضفت سلسلتين ، فستكون النتيجة سلسلة نصية:

مثال

let x = "10";
let y = "20";
let z = x + y;

إذا أضفت رقمًا وسلسلة ، فستكون النتيجة سلسلة سلسلة:

مثال

let x = 10;
let y = "20";
let z = x + y;

إذا أضفت سلسلة ورقمًا ، فستكون النتيجة سلسلة سلسلة:

مثال

let x = "10";
let y = 20;
let z = x + y;

الخطأ الشائع هو توقع أن تكون هذه النتيجة 30:

مثال

let x = 10;
let y = 20;
let z = "The result is: " + x + y;

الخطأ الشائع هو توقع أن تكون هذه النتيجة 102030:

مثال

let x = 10;
let y = 20;
let z = "30";
let result = x + y + z;

مترجم جافا سكريبت يعمل من اليسار إلى اليمين.

يضاف أول 10 + 20 لأن س وص عددان.

ثم يتم ربط 30 + "30" لأن z عبارة عن سلسلة.


سلاسل رقمية

يمكن أن تحتوي سلاسل JavaScript على محتوى رقمي:

let x = 100;         // x is a number

let y = "100";       // y is a string

سيحاول JavaScript تحويل السلاسل إلى أرقام في جميع العمليات الرقمية:

هذا سيفي بالغرض:

let x = "100";
let y = "10";
let z = x / y;

سيعمل هذا أيضًا:

let x = "100";
let y = "10";
let z = x * y;

وهذا سيعمل:

let x = "100";
let y = "10";
let z = x - y;

لكن هذا لن ينجح:

let x = "100";
let y = "10";
let z = x + y;

في المثال الأخير ، تستخدم JavaScript عامل التشغيل + لسلسلة السلاسل.


NaN - ليس رقمًا

NaNهي كلمة محجوزة في JavaScript تشير إلى أن الرقم ليس رقمًا قانونيًا.

ستؤدي محاولة إجراء العمليات الحسابية باستخدام سلسلة غير رقمية إلى NaN(ليس رقمًا):

مثال

let x = 100 / "Apple";

ومع ذلك ، إذا كانت السلسلة تحتوي على قيمة عددية ، فستكون النتيجة رقمًا:

مثال

let x = 100 / "10";

يمكنك استخدام دالة JavaScript العامة isNaN() لمعرفة ما إذا كانت القيمة ليست رقمًا:

مثال

let x = 100 / "Apple";
isNaN(x);

احترس من NaN. إذا كنت تستخدم NaNفي عملية حسابية ، فستكون النتيجة أيضًا NaN:

مثال

let x = NaN;
let y = 5;
let z = x + y;

أو قد تكون النتيجة سلسلة مثل NaN5:

مثال

let x = NaN;
let y = "5";
let z = x + y;

NaNهو رقم: typeof NaNإرجاع number:

مثال

typeof NaN;

ما لا نهاية

Infinity(أو -Infinity) هي القيمة التي سترجعها JavaScript إذا قمت بحساب رقم خارج أكبر رقم ممكن.

مثال

let myNumber = 2;
// Execute until Infinity
while (myNumber != Infinity) {
  myNumber = myNumber * myNumber;
}

ينتج عن القسمة على 0 (صفر) أيضًا Infinity:

مثال

let x =  2 / 0;
let y = -2 / 0;

Infinityهو رقم: typeof Infinityإرجاع number.

مثال

typeof Infinity;

السداسي عشري

يفسر JavaScript الثوابت الرقمية على أنها سداسية عشرية إذا كانت مسبوقة بـ 0 x.

مثال

let x = 0xFF;

لا تكتب أبدًا أي رقم بصفر بادئ (مثل 07).
تفسر بعض إصدارات JavaScript الأرقام على أنها ثماني إذا كانت مكتوبة بصفر بادئ.

بشكل افتراضي ، يعرض JavaScript الأرقام كأساس 10 عشرية.

لكن يمكنك استخدام toString()الطريقة لإخراج الأرقام من الأساس 2 إلى الأساس 36 .

النظام السداسي عشري هو الأساس 16 . الرقم العشري هو الأساس 10 . أوكتال هو الأساس 8 . النظام الثنائي هو الأساس 2 .

مثال

let myNumber = 32;
myNumber.toString(10);
myNumber.toString(32);
myNumber.toString(16);
myNumber.toString(8);
myNumber.toString(2);

أرقام جافا سكريبت ككائنات

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

let x = 123;

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

let y = new Number(123);

مثال

let x = 123;
let y = new Number(123);

لا تقم بإنشاء كائنات رقمية.

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

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

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

let x = 500;
let y = new Number(500);

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

let x = 500;
let y = new Number(500);

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

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

let x = new Number(500);
let y = new Number(500);

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

let x = new Number(500);
let y = new Number(500);

Comparing two JavaScript objects always returns false.

Complete JavaScript Number Reference

For a complete Number reference, visit our:

Complete JavaScript Number Reference.

The reference contains descriptions and examples of all Number properties and methods.