JavaScript sadece bir türü vardır number .
Numbers ile veya ondalık olmadan yazılabilir.
JavaScript Numaraları
JavaScript numbers ile veya ondalık olmadan yazılabilir:
Örnek
var x = 34.00; // A number with decimals
var y = 34; // A number without decimals
Ekstra büyük veya çok küçük sayılar bilimsel ile yazılabilir (exponent) notasyonu:
Örnek
var x = 123e5; // 12300000
var y = 123e-5; // 0.00123
JavaScript Numaraları Noktası Yüzer Her zaman 64 bit olan
diğer birçok programlama dilleri farklı olarak, JavaScript vb tamsayılar, kısa, uzun, kayan nokta gibi sayıların farklı türde tanımlamıyor
JavaScript numaralar daima uluslararası IEEE 754 standardı ardından, çift hassasiyetli kayar nokta sayılar olarak depolanır.
Sayı 64 bit, bu biçim saklar numaraları (the fraction) bitlerinde depolanır 0 ila 51, bit 52 62 için üs ve bit 63 işareti:
Değer (aka Fraction/Mantissa) | üs | İşaret |
---|---|---|
52 bit (0 - 51) | 11 bit (52 - 62) | 1 bit (63) |
Hassas
Tamsayılar (numbers without a period or exponent notation) 15 basamağa kadar hassas olarak kabul edilir.
Örnek
var x = 999999999999999; // x will be 999999999999999
var y = 9999999999999999; // y will be 10000000000000000
Kendin dene " ondalık sayısı 17 olan, ama kayar nokta aritmetik her zaman% 100 doğru:
Yukarıdaki sorunu çözmek için, onları çoğalmak ve bölünmeye yardımcı olur:
onaltılık
onlar 0x öncesinde ise JavaScript onaltılık gibi sayısal sabitleri yorumlar.
Önünde sıfır olan bir numarası yazmaz (like 07) .
onlar başında sıfır yazılır Bazı JavaScript versiyonları sekizlik olarak numaralar yorumlamak.
Varsayılan olarak, JavaScript tabanı 10 onluk değerler numaralarını gösterir.
Ama kullanabilir toString() taban 16 gibi çıkış numaralarına yöntemi (hex) , taban 8 (octal) , ya da taban 2'ye (binary) .
Örnek
var myNumber = 128;
myNumber.toString(16); // returns 80
myNumber.toString(8); // returns 200
myNumber.toString(2); // returns 10000000
Kendin dene " Sonsuzluk
Infinity (or -Infinity) Eğer mümkün olan en büyük sayı dışında bir sayısını hesaplamak ise JavaScript dönecektir değerdir.
Örnek
var
myNumber = 2;
while (myNumber != Infinity) {
// Execute until Infinity
myNumber = myNumber * myNumber;
}
Kendin dene " 0 ile bölme (zero) da Sonsuz oluşturur:
Sonsuz bir sayıdır: typeOf Infinity sayısını döndürür.
NaN - Sayı Değil
NaN Değerin sayı olmadığını belirten bir JavaScript ayrılmış bir kelimedir.
Sonuçlanacak bir sayısal olmayan dize ile aritmetik yapmaya çalışıyor NaN (Sayı Değil):
dize sayısal bir değer içeriyorsa Ancak, sonuç sayı olacaktır:
Sen genel JavaScript işlevini kullanabilirsiniz isNaN() Değerin sayı olup olmadığını öğrenmek için.
NaN dikkat edin. Bir matematiksel operasyonda NaN kullanırsanız, sonuç da NaN olacaktır:
Ya sonuç birleştirme olabilir:
NaN bir sayıdır ve typeof NaN sayısını döndürür:
Sayılar Nesneler olabilir
Normal olarak bir JavaScript numaraları ilkel değerleri değişmez oluşturulur: var x = 123
Ancak sayıları da kelime yeni nesneleri gibi tanımlanabilir: var y = new Number(123)
Örnek
var x = 123;
var y = new Number(123);
//
typeof x returns number
//
typeof y returns object
Kendin dene " Sayı nesneleri oluşturmayın. Bu yürütme hızını yavaşlatır.
new anahtar kelime kodu zorlaştırmaktadır. Bu, bazı beklenmeyen sonuçlar üretebilir:
Kullanırken == eşitlik operatörü, eşit sayılar eşit görünür:
Örnek
var x = 500;
var y = new Number(500);
// (x == y) is true because x and y have equal values
Kendin dene " === eşitlik operatörü kullanırken === operatörü tipi ve değeri hem de eşitlik beklemektedir çünkü eşit sayılar, eşit değildir.
Örnek
var x = 500;
var y = new Number(500);
// (x === y) is false because x and y have different types
Kendin dene " Ya da daha kötüsü. Nesneler kıyaslanamaz:
Örnek
var x = new Number(500);
var y = new Number(500);
// (x == y) is false because objects cannot be compared
Kendin dene " JavaScript nesneleri karşılaştırma yapılamaz.
Egzersizleri ile Yourself test edin!
Egzersiz 1 » Alıştırma 2» Egzersiz 3 » Alıştırma 4»