Ana içeriğe geç
Modül 2 · Ders 3 ders 4Kurstaki 7/32~10 min
Modül dersleri (3/4)

Sayılar ve Matematik

JavaScript'te yalnızca tek bir sayısal tür vardır: number. Her iki tam sayı ve ondalık sayılar (kayan nokta) burada yaşar. Ayrı bir int / float yok diğer dillerde olduğu gibi.

JS
typeof 42; // 'number'
typeof 3.14; // 'number'
typeof -0.001; // 'number'
typeof Infinity; // 'number'   ← Infinity is a special number
typeof NaN; // 'number'   ← even "Not a Number" is a number (!)

Küresel Math nesnesi

Math bir işlev değildir: yararlı yöntemlere sahip bir nesnedir ve sabitler. Onu başlatmazsınız, doğrudan kullanırsınız:

JS
Math.min(3, 1, 7); // 1
Math.max(3, 1, 7); // 7
Math.abs(-5); // 5
Math.round(4.5); // 5
Math.floor(4.9); // 4   (always rounds down)
Math.ceil(4.1); // 5   (always rounds up)
Math.sqrt(16); // 4
Math.pow(2, 10); // 1024   (equivalent to 2 ** 10)
Math.PI; // 3.141592653589793

Rastgele sayılar

Math.random(), 0 (dahil) ile 1 (hariç) arasında bir ondalık sayı döndürür. Bir aralıkta bir tamsayı elde etmek için küçük bir formül kullanırsınız:

JS
// Random integer between 0 and 9
Math.floor(Math.random() * 10);

// Random integer between 1 and 6 (a six-sided die)
Math.floor(Math.random() * 6) + 1;

Ondalık sayıların acıları (kayan nokta)

JS, hemen hemen tüm JS ile paylaşılan IEEE-754 64 bit gösterimini kullanır. diller. Bu ikili bir temsil olduğundan bazı ondalık sayılar olamaz tam olarak temsil edildi:

JS
0.1 + 0.2; // 0.30000000000000004 (!)
0.1 + 0.2 === 0.3; // false

Standart çözüm: toFixed(n) ile yuvarlayın (bu bir dize döndürür) veya Parayla çalışırken sent/binde bir cinsinden tam sayıları kullanın:

JS
(0.1 + 0.2).toFixed(2); // '0.30' (string)
Number((0.1 + 0.2).toFixed(2)); // 0.3 (number)

Deneyin

Egzersiz#js.m2.l3.e1
Denemeler: 0Yükleniyor…

Yarıçapı 'r = 5' olan bir dairenin alanını iki ondalık basamağa yuvarlanmış bir 'sayı' olarak hesaplayın. 'r=5' için 78,54 bekleniyor.

Düzenleyici yükleniyor…
İpucu göster

Pi için Math.PI, üstelleştirme için **; .toFixed(2) yuvarlamak, Number(...) tekrar sayıya dönüştürmek için.

3 denemeden sonra çözüm mevcut

Alıştırmayı gözden geçirin

Egzersiz#js.m2.l3.e2
Denemeler: 0Yükleniyor…

12, 7, 23 olmak üzere üç sayı verildiğinde, son ifade olarak maksimum ve minimum arasındaki farkı (yani 16) döndürün.

Düzenleyici yükleniyor…
İpucu göster

Math.max ve Math.min birden çok virgülle ayrılmış bağımsız değişkeni kabul eder.

3 denemeden sonra çözüm mevcut