Objek Nombor JavaScript
JavaScript hanya mempunyai satu jenis nombor.
Nombor boleh ditulis dengan atau tanpa titik perpuluhan.
Nombor JavaScript
Nombor JavaScript boleh ditulis dengan atau tanpa titik perpuluhan:
Contoh
var x=34; // Tanpa titik perpuluhan
Nombor yang sangat besar atau kecil boleh ditulis menggunakan tatatanda saintifik (eksponen):
Contoh
var z=123e-5; // 0.00123
Semua nombor JavaScript ialah 64 bit
JavaScript bukan bahasa yang ditaip. Tidak seperti kebanyakan bahasa pengaturcaraan lain, JavaScript tidak mentakrifkan jenis nombor yang berbeza, seperti integer, pendek, panjang, titik terapung, dsb.
Dalam JavaScript, nombor tidak dibahagikan kepada jenis integer dan jenis titik terapung Semua nombor diwakili oleh Jenis titik terapung. JavaScript menggunakan format titik terapung 64-bit yang ditakrifkan oleh standard IEEE754 untuk mewakili nombor Ia boleh mewakili nilai maksimum ±1.7976931348623157 x 10308 dan nilai minimum ±5 x 10 -324
值 (aka Fraction/Mantissa) | 指数 | Sign |
---|---|---|
52 bits (0 - 51) | 11 bits (50 - 62) | 1 bit (63) |
<. 🎜>
ketepatan Integer (tanpa titik perpuluhan atau tatatanda eksponen) boleh sehingga 15 digit. Bilangan maksimum tempat perpuluhan ialah 17, tetapi operasi titik terapung tidak selalunya 100% tepat:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <script> var x; document.write("<p>仅显示17位: "); x=12345678901234567890; document.write(x + "</p>"); document.write("<p>0.2 + 0.1 = "); x=0.2+0.1; document.write(x + "</p>"); document.write("<p>可以通过乘以10或除以10来计算: "); x=(0.2*10+0.1*10)/10; document.write(x +"</p>"); </script> </body> </html>
Run Instance»Klik butang "Run Instance" untuk melihat contoh dalam talian
Oktal dan heksadesimalJika awalan adalah 0, kemudian JavaScript mentafsir pemalar berangka sebagai nombor perlapanan, atau sebagai nombor perenambelasan jika diawali dengan 0 dan "x".
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <script> var y = 0377; var z = 0xFF; document.write(y + "<br>"); document.write(z + "<br>"); </script> </body> </html>
Run Instance»Klik butang "Run Instance" untuk melihat contoh dalam talian
Secara lalai, nombor JavaScript dipaparkan dalam perpuluhan.
Tetapi anda boleh menggunakan kaedah toString() untuk mengeluarkan heksadesimal, perlapanan atau perduaan.
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <script> var myNumber = 128; document.write(myNumber + ' 十进制<br>'); document.write(myNumber.toString(16) + ' 十六进制<br>'); document.write(myNumber.toString(8) + ' 八进制<br>'); document.write(myNumber.toString(2) + ' 二进制<br>'); </script> </body> </html>
Run Instance»
Klik butang "Run Instance" untuk melihat contoh dalam talian
Infiniti
Apabila hasil operasi berangka melebihi had atas nombor yang JavaScript boleh wakili (limpahan), hasilnya ialah nilai infiniti khas, yang diwakili oleh Infiniti dalam JavaScript . Begitu juga, apabila nilai nombor negatif melebihi julat nombor negatif yang boleh diwakili oleh JavaScript, hasilnya ialah infiniti negatif, yang diwakili oleh -Infinity dalam JavaScript. Nilai tak terhingga berkelakuan seperti yang kita jangkakan: operasi berdasarkan penambahan, penolakan, pendaraban dan pembahagian masih menghasilkan infiniti (sambil mengekalkan tandanya, sudah tentu).
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <script> myNumber=2; while (myNumber!=Infinity){ myNumber=myNumber*myNumber; document.write(myNumber +'<BR>'); } </script> </body> </html>
Run Instance»
Klik butang "Run Instance" untuk melihat contoh dalam talian
Membahagi dengan 0 juga menghasilkan infiniti:
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <script> var x = 2/0; var y = -2/0; document.write(x + "<br>"); document.write(y + "<br>"); </script> </body> </html>
Run Instance»
Klik " Butang Run Instance" " untuk melihat contoh dalam talian
NaN - nilai bukan angka
Atribut NaN ialah nilai khas yang mewakili nilai bukan angka. Atribut ini digunakan untuk menunjukkan bahawa nilai bukan nombor. Objek Nombor boleh ditetapkan kepada nilai ini untuk menunjukkan bahawa ia bukan nilai angka.
Anda boleh menggunakan fungsi global isNaN() untuk menentukan sama ada sesuatu nilai ialah nilai NaN.
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p>一个数字除以一个字符串结果不是一个数字</p> <p>一个数字除以一个字符串数字结果是一个数字</p> <p id="demo"></p> <script> var x = 1000 / "Apple"; var y = 1000 / "1000"; document.getElementById("demo").innerHTML = isNaN(x) + "<br>" + isNaN(y); </script> </body> </html>
Run Instance»
Klik butang "Run Instance" untuk melihat contoh dalam talian
Dibahagi dengan 0 ialah infiniti, iaitu nombor:
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p id="demo"></p> <script> var y = 1000 / 0; document.getElementById("demo").innerHTML = isNaN(y); </script> </body> </html>
Jalankan instance »
Klik butang "Jalankan contoh" untuk melihat contoh dalam talian
Nombor boleh menjadi nombor atau objek
Nombor boleh dimulakan dengan data peribadi, seperti x = 123;
Data permulaan objek berangka JavaScript, var y = baharu Number(123);
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p id="demo"></p> <script> var x = 123; // x 是一个数字 var y = new Number(123); // y 是一个对象 var txt = typeof(x) + " " + typeof(y); document.getElementById("demo").innerHTML=txt; </script> </body> </html>
Run Instance»
Klik butang "Run Instance" untuk melihat contoh dalam talian
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p id="demo"></p> <script> var x = 123; // x 是一个数字 var y = new Number(123); // y 是一个对象 document.getElementById("demo").innerHTML = x===y; </script> </body> </html>
Run Instance»
Klik butang "Run Instance" untuk melihat contoh dalam talian
Sifat angka
MAX_VALUE
MIN_VALUE
NEGATIF_INFINITY
POSITIF_INFINITY
NaN
prototaip
pembina
Kaedah nombor
kepada Eksponen()
kepadaTetap()
toPrecision()
toString()
valueOf()