آموزش طراحی سایت-اعداد در جاوا اسکریپت

سلام عزیزان با آموزش جاوا اسکریپت از دوره آموزش طراحی سایت در خدمت شما دوستان هستیمآموزش اعداد در جاوا اسکریپتاعداد در جاوا اسکریپت آموزش طراحی سایت : زبان جاوا اسکریپت فقط یک نوع متغیر عددی دارد.متغیرهای عددی می توانند از نوع عددی یا اعشاری باشند.مثال:var x = 34.00; // A number with decimals var y = 34; // A number without decimals‎اعداد بسیار کوچک یا کوچک را می توان با نماد علمی نوشتمثال:var x = 123e5; // 12300000 var y = 123e-5; // 0.00123‎اعداد جاوا اسکریپت همیشه 64 بیتی و با ممیز شناور (در مبنای 10) هستند. برخلاف بسیاری از زبان های برنامه نویسی، جاوا اسکریپت انواع عددی از قبیل : integer (عدد صحیح)، short، long و floating-point تعریف نمی کند و این نوع اعداد در جاوا اسکریپت استفاده نمی شوند.در جاوا اسکریپت اعداد همیشه به صورت ممیز شناور با دو رقم اعشار (double precision floating-point number) ذخیره می شوند که در حقیقت دنبال رو استاندارد بین المللی IEEE 754 می باشد.در این نوع قالب دهی یا فرمت اعداد در 64 بیت ذخیره می گردند، به گونه ای که کسر (fraction) در بیت های 0 تا 51، نما یا توان (exponent) در بیت های 52 تا 62 و علامت (sign) در بیت 63 ذخیره می گردد.دقت اعشار (precision)اعداد صحیح integer در حداکثر 15 رقم و همیشه به صورت دقیق مطرح می شوند.مثال:نمونه یک function myFunction() { var x = 999999999999999; var y = 9999999999999999; document.getElementById(&quotdemo&quot) = x + &quot<br>&quot + y; } حداکثر تعداد اعشار، 17 رقم است، اما حساب ممیز شناور همیشه 100% دقیق نیست.نمونه دو function myFunction() { var x = 0.2 + 0.1; document.getElementById(&quotdemo&quot) = &quot0.2 + 0.1 = &quot + x; } به منظور حل مشکل بالا، انجام عمل ضرب و تقسیم کمک زیادی می کند.مثال:نمونه سهfunction myFunction() { var x = (0.2 * 10 + 0.1 * 10) / 10; document.getElementById(&quotdemo&quot) = &quot0.2 + 0.1 = &quot + x; } آموزش طراحی سایت : اعداد شانزده شانزدهی (hexadecimal)جاوا اسکریپت ثابت های عددی (اعداد ثابتی) را که با 0x شروع می شوند به عنوان اعداد در مبنای شانزده در نظر می گیرد (تفسیر می کند).مثال:نمونه چهارfunction myFunction() { document.getElementById(&quotdemo&quot) = &quot0xFF = &quot + 0xFF; }توجه:هیچگاه یک عدد را با صفر مقدم ننویسید (مانند این مثال 07(.بعضی از ویرایش های جاوا اسکریپت یک عدد را در صورتی که با صفر مقدم نوشته شوند، به صورت octal / هشت هشتی تفسیر می کند.به صورت پیش فرض، جاوا اسکریپت اعداد را به صورت اعشاری و در مبنای 10 نمایش می دهد، اما شما می توانید با استفاده از تابع toString() اعداد را به صورت مبنای 16، مبنای 8 یا مبنای 2 (دودئی) (به عنوان خروجی) نمایش دهید.مثال:نمونه پنجfunction myFunction() { var myNumber = 128; document.getElementById(&quotdemo&quot) = &quot128 = &quot + myNumber + &quot Decimal, &quot + myNumber.toString(16) + &quot Hexadecimal, &quot + myNumber.toString(8) + &quot Octal, &quot + myNumber.toString(2) + &quot Binary.&quot }Infinity (مقدار بی نهایت)چنانچه عددی را که بزرگتر از بیشینه ی حد ممکن اعداد در جاوا اسکریپت است محاسبه کنید، مقدار infinity برگردانده می شود.مثال:نمونه ششfunction myFunction() { var myNumber = 2; var txt = &quot" while (myNumber != Infinity) { myNumber = myNumber * myNumber; txt = txt + myNumber + &quot<br>" } document.getElementById(&quotdemo&quot) = txt; }در صورت تقسیم عددی بر 0 نیز مقدار بی نهایت برگردانده می شود.مثال:نمونه هفتfunction myFunction() { var x = 2 / 0; var y = -2 / 0; document.getElementById(&quotdemo&quot) = x + &quot<br>&quot + y; }توضیح : infinity یک عدد است : typeOf infinity یک عدد برمی گرداند.مثال:نمونه هشتfunction myFunction() { document.getElementById(&quotdemo&quot) = typeof Infinity; }عبارت NaN- عبارت رزرو شده ی Not a Numberعبارت NaN یک کلمه ی رزرو شده (reserved word) است که بیان می کند یک مقدار از نوع عدد نیست.چنانچه سعی کنید با رشته ی غیر عددی عملیات محسابه ی انجام دهید، جاوا اسکریپت عبارت رزرو شده ی Not a Number را بر می گرداند.نمونه نهdocument.getElementById(&quotdemo&quot) = 100 / &quotApple&quotاما چنانچه رشته دربردارنده ی یک مقدار عددی باشد، نتیجه نیز یک عدد خواهد بود.مثال:نمونه دهdocument.getElementById(&quotdemo&quot) = 100 / &quot10"می توانید از تابع سراسری (global function) isNaN() برای کشف این مسئله که آیا مقدار یک عدد است یا خیر استفاده کنید.مثال:نمونه یازدهvar x = 100 / &quotApple" document.getElementById(&quotdemo&quot) = isNaN(x);اگر در محاسبات ریاضی از NaN استفاده کنید، نتیجه نیز NaN خواهد بود.مثال:نمونه دوازدهvar x = NaN; var y = 5; document.getElementById(&quotdemo&quot) = x + y;نمونه سیزدهvar x = NaN; var y = &quot5" document.getElementById(&quotdemo&quot) = x + y;دستور NaN یک عدد است : typeOf NaN عدد بازمی گرداند.مثال:نمونه چهاردهdocument.getElementById(&quotdemo&quot) = typeof NaN;اعداد می توانند شی باشند. به طور معمول اعداد مقادیر اولیه ی هستند که از literal ها ایجاد می گردند.var x = 123‎اما اعداد را می توان با استفاده از کلیدواژه ی new به عنوان شی (object) تعریف کرد، بدین ترتیبvar y = new Number(123)‎مثال:نمونه پانزدهdocument.getElementById(&quotdemo&quot) = typeof x + &quot<br>&quot + typeof y;از ایجاد شی number خودداری کنید، زیرا که سرعت اجرا را کاهش داده و عوارض جانبی فراوانی را منجر می شوند.عملگر == برای اعدادی بکار می رود که از لحاظ مقدار برابر باشند.مثال:نمونه شانزدهvar x = 500; // x is a number var y = new Number(500); // y is an object document.getElementById(&quotdemo&quot) = (x == y);توجه داشته باشید که در صورت استفاده از عملگر === دیگر اعداد با مقدار یکسان مساوی یا برابر محسوب نمی شوند زیرا که این عملگر انتظار دارد اعداد هم از نظر نوع و هم از نظر مقدار با هم برابر باشند.نمونه هفدهvar x = 500; // x is a number var y = new Number(500); // y is an object document.getElementById(&quotdemo&quot) = (x === y);بخاطر داشته باشید که مقایسه ی اشی با هم امکان پذیر نمی باشد.مثال:نمونه هجدهvar x = 500; // x is a number var y = new Number(500); // y is an object document.getElementById(&quotdemo&quot) = (x === y);خواص (properties) و متدهای مربوط به اعداد در جاوا اسکریپتمقادیر اولیه ی مثل 3.14 یا 2014، نمی توانند متد یا خاصیت داشته باشند (زیرا که در اصل این ها شی نیستند که بتوانند خاصیت یا متد داشته باشند).اما در رابطه با جاوا اسکریپت این امر صادق نیست. به این خاطر که زبان بیان شده هنگام اجرای متدها و خصوصیت ها با مقادیر اولیه به مثابه ی شی برخورد می کند. از این رو مقادیر اولیه همچنان قادر هستند در زبان جاوا اسکریپت متد و خاصیت داشته باشند.مثال:نمونه نوزدهdocument.getElementById(&quotdemo&quot) = Number.MAX_VALUE;خاصیت های مربوط به اعداد در جاوا اسکریپت متعلق به دبرگیرنده یا wrapper شی number هستند که خود Number نامیده می شوند. دسترسی به خاصیت های نام برده تنها از این طریق ممکن می باشد.Number.MAX_VALUE‎استفاده از myNumber.MAX_VALUE در جایی که myNumber یک متغیر، عبارت یا مقدار است، باعث برگردانده شدن undefined می شود.مثال:نمونه بیستvar x = 6; document.getElementById(&quotdemo&quot) = x.MAX_VALUE; آموزش طراحی سایت ادامه دارد