Ultimele tutoriale de dezvoltare web
 

JavaScript numere


JavaScript are doar un singur tip de number .

Numbers pot fi scrise cu sau fără zecimale.


numere JavaScript

JavaScript numbers pot fi scrise cu sau fără zecimale:

Exemplu

var x = 34.00;    // A number with decimals
var y = 34;       // A number without decimals

Numere suplimentare , mare sau foarte mici pot fi scrise cu științific (exponent) notație:

Exemplu

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

Numerele JavaScript sunt întotdeauna pe 64 de biți plutitoare Punct

Spre deosebire de multe alte limbaje de programare, JavaScript nu definește diferite tipuri de numere, cum ar fi numere întregi, scurte,, in virgula mobila lung etc.

Numerele JavaScript sunt întotdeauna stocate ca numere de dublu punct de precizie plutitoare, urmând standardul internațional IEEE 754.

Acest format stochează numere în 64 de biți, în cazul în care numărul (the fraction) este stocat în biți 0-51, exponent în biți 52 la 62, iar semnul în 63 de biți:

Valoarea (aka Fraction/Mantissa) Exponent Semn
52 biți (0 - 51) 11 biți (52 - 62) 1 bit (63)

Precizie

Întregi (numbers without a period or exponent notation) sunt considerate ca fiind exacte până la 15 cifre.

Exemplu

var x = 999999999999999;   // x will be 999999999999999
var y = 9999999999999999;  // y will be 10000000000000000
Încearcă - l singur »

Numărul maxim de zecimale este de 17, dar aritmetice nu este întotdeauna 100% corecte:

Exemplu

var x = 0.2 + 0.1;         // x will be 0.30000000000000004
Încearcă - l singur »

Pentru a rezolva problema de mai sus, ajută la înmulțirea și împărțirea:

Exemplu

var x = (0.2 * 10 + 0.1 * 10) / 10;       // x will be 0.3
Încearcă - l singur »

hexazecimal

JavaScript interpretează constante numerice ca hexazecimal în cazul în care acestea sunt precedate de 0x.

Exemplu

var x = 0xFF;             // x will be 255
Încearcă - l singur »

Niciodată nu a scrie un număr cu un zero (like 07) .
Unele versiuni JavaScript interpretează numere ca octal în cazul în care acestea sunt scrise cu un lider de la zero.

În mod implicit, Javascript afișează numere ca bază de 10 zecimale.

Dar puteți utiliza toString() metoda la numerele de ieșire ca bază 16 (hex) , baza 8 (octal) , sau de bază 2 (binary) .

Exemplu

var myNumber = 128;
myNumber.toString(16);     // returns 80
myNumber.toString(8);      // returns 200
myNumber.toString(2);      // returns 10000000
Încearcă - l singur »

Infinit

Infinity (or -Infinity) este valoarea JavaScript va reveni dacă vă calcula un număr în afara cel mai mare număr posibil.

Exemplu

var myNumber = 2;
while (myNumber != Infinity) {          // Execute until Infinity
    myNumber = myNumber * myNumber;
}
Încearcă - l singur »

Divizia de 0 (zero) , generează , de asemenea , Infinity:

Exemplu

var x =  2 / 0;          // x will be Infinity
var y = -2 / 0;          // y will be -Infinity
Încearcă - l singur »

Infinity este un număr: typeOf Infinity returnează numărul.

Exemplu

typeof Infinity;        // returns "number"
Încearcă - l singur »

NaN - Nu este un număr

NaN este un cuvânt rezervat JavaScript care indică faptul că o valoare nu este un număr.

Încercarea de a face aritmetică cu un șir de caractere non-numerice va duce la NaN (Not a Number):

Exemplu

var x = 100 / "Apple";  // x will be NaN (Not a Number)
Încearcă - l singur »

Cu toate acestea, în cazul în care șirul conține o valoare numerică, rezultatul va fi un număr:

Exemplu

var x = 100 / "10";     // x will be 10
Încearcă - l singur »

Puteți utiliza funcția globală JavaScript isNaN() pentru a afla dacă o valoare este un număr.

Exemplu

var x = 100 / "Apple";
isNaN(x);               // returns true because x is Not a Number
Încearcă - l singur »

Ferește-te de NaN. Dacă utilizați NaN într-o operație matematică, rezultatul va fi, de asemenea NaN:

Exemplu

var x = NaN;
var y = 5;
var z = x + y;         // z will be NaN
Încearcă - l singur »

Sau rezultatul ar putea fi o înlănțuire:

Exemplu

var x = NaN;
var y = "5";
var z = x + y;         // z will be NaN5
Încearcă - l singur »

NaN este un număr, și typeof NaN returnează numărul:

Exemplu

typeof NaN;             // returns "number"
Încearcă - l singur »

Numerele pot fi obiecte

În mod normal , numerele de JavaScript sunt valori primitive create din literali: var x = 123

Dar numere pot fi , de asemenea , definite ca obiecte cu un nou cuvânt cheie: var y = new Number(123)

Exemplu

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

// typeof x returns number
// typeof y returns object
Încearcă - l singur »

Nu creați un număr de obiecte. Acesta încetinește viteza de execuție.
new cuvânt cheie complică codul. Acest lucru poate produce unele rezultate neașteptate:

Când se utilizează == operatorul de egalitate, un număr egal arată egal:

Exemplu

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

// (x == y) is true because x and y have equal values
Încearcă - l singur »

Când se utilizează operatorul de egalitate ===, un număr egal nu sunt egale, deoarece operatorul === se așteaptă egalitatea în ambele tipuri și valoare.

Exemplu

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

// (x === y) is false because x and y have different types
Încearcă - l singur »

Sau chiar mai rău. Obiectele nu pot fi comparate:

Exemplu

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

// (x == y) is false because objects cannot be compared
Încearcă - l singur »

obiecte JavaScript nu pot fi comparate.


Testați-te cu exerciții!

Exercițiul 1 » Exercițiul 2» Exercițiul 3 » Exercițiul 4»