cari
Rumahhujung hadapan webSoal Jawab bahagian hadapanBerapa banyak jenis jenis berangka javascript yang ada?

Hanya terdapat satu jenis angka dalam JavaScript: jenis titik terapung. JavaScript secara dalaman menyimpan nombor sebagai jenis titik terapung 64-bit, jadi sebenarnya tiada jenis integer dalam JavaScript. Mengikut format nombor dalam JavaScript, julat integer yang boleh diwakili ialah "[-2^53 ~ 2^53]", termasuk nilai sempadan tetapi perlu diperhatikan bahawa indeks tatasusunan, operator bit, dsb. menggunakan 32; -bit integer.

Berapa banyak jenis jenis berangka javascript yang ada?

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.

Dalam JavaScript, hanya terdapat satu jenis angka, yang secara dalaman diwakili sebagai nombor titik terapung 64-bit. Jadi sebenarnya tiada jenis integer dalam JavaScript.

print(3/2); // 1.5

Dapat dilihat bahawa nilai-nilai diproses sebagai nombor titik terapung.

Kerana JavaScript secara dalaman menyimpan nombor dalam jenis titik terapung 64-bit, tanpa mengira integer atau perpuluhan. Apa yang mengelirukan ialah beberapa operasi bit mesti memerlukan integer untuk dijalankan, jadi nombor titik terapung 64-bit ditukar secara automatik kepada integer 32-bit. Kemudian lakukan operasi bit. Dalam JavaScript, 1 dan 1.0 adalah sama

1 == 1.0 true
0.1+0.2 == 0.3 false
0.3/0.1 = 2.99999999996
(0.3-0.2) === (0.2-0.1) false

Ringkasnya, berhati-hati dengan operasi yang melibatkan perpuluhan

Ikuti format nombor dalam JavaScript (format titik terapung 64-bit yang ditakrifkan oleh IEEE- 754 ), julat integer yang boleh diwakili ialah [-2^53 ~ 2^53], termasuk nilai sempadan. Walau bagaimanapun, perlu diingatkan bahawa pengindeksan tatasusunan, pengendali bitwise, dsb. menggunakan integer 32-bit.

Ketepatan tertinggi nilai titik terapung ialah 17 tempat perpuluhan, tetapi ketepatannya jauh lebih rendah daripada integer semasa melakukan pengiraan aritmetik. Sebagai contoh, hasil penambahan 0.1 kepada 0.2 bukan 0.3, tetapi 0.30000000000000004. Ralat pembundaran kecil ini menjadikannya mustahil untuk menguji nilai titik terapung tertentu.

Oleh kerana nombor titik terapung binari boleh mewakili 1/2, 1/8, dsb. dengan tepat, tetapi tidak boleh mewakili 1/10, 1/100 dsb. Jadi nombor mudah seperti 0.1 tidak boleh diwakili dengan tepat.

Disebabkan isu ketepatan dengan nombor titik terapung, keputusan yang tidak dijangka mungkin diperoleh semasa perbandingan:

print((0.1+0.2) == 0.3); // false
print(0.1+0.2);          // 0.30000000000000004
print(0.3);              // 0.3

print((10/3-3) == (1/3));// false
print(10/3-3);           // 0.3333333333333335
print(1/3);              // 0.3333333333333333

Untuk integer, selagi integer dalam 53 digit digunakan, tidak Akan ada ketepatan masalah, jadi anda boleh menggunakannya dengan yakin.

Selain diwakili dalam perpuluhan, integer juga boleh diwakili oleh literal dalam perlapanan (asas 8) atau perenambelasan (asas 16). Antaranya, digit pertama literal perlapanan mestilah sifar (0), diikuti dengan urutan digit perlapanan (0 hingga 7). Jika nilai dalam literal melebihi julat, sifar pendahuluan diabaikan dan nilai berikut ditafsirkan sebagai nilai perpuluhan.

Literal oktal tidak sah dalam mod ketat dan akan menyebabkan enjin JavaScript yang menyokong mod ini menimbulkan ralat.

Dua digit pertama nilai literal heksadesimal mestilah 0x, diikuti dengan mana-mana digit heksadesimal (0~9 dan A~F). Antaranya, huruf A hingga F boleh menjadi huruf besar atau huruf kecil.

Memandangkan menyimpan nilai titik terapung memerlukan ruang memori dua kali lebih banyak daripada menyimpan nilai integer, ECMAScript tidak akan membuang masa untuk menukar nilai titik terapung kepada nilai integer. Jelas sekali, jika titik perpuluhan tidak diikuti oleh sebarang digit, maka nilai itu boleh disimpan sebagai nilai integer. Begitu juga, jika nilai titik terapung itu sendiri mewakili integer (seperti 1.0), maka nilai itu juga akan ditukar kepada integer.

Objek berangka

Sama seperti nilai rentetan sepadan dengan objek rentetan, nilai berangka juga mempunyai objek berangka yang sepadan, iaitu Bilangan .

Nilai berangka juga boleh terus memanggil sifat yang sepadan dengan nilai berangka:

print((6).toString()); // 6

Perhatikan bahawa dalam contoh ini, nilai berangka perlu ditambah dalam kurungan, jika tidak, noktah akan dianggap sebagai titik perpuluhan.

Penggunaan Nombor adalah serupa dengan penggunaan String Ia boleh melakukan penukaran jenis, mencipta objek berangka, dsb.

Apabila melakukan penukaran jenis, jika penukaran tidak berjaya, Number mengembalikan NaN, perkara yang sama berlaku apabila menggunakan objek berangka.

var a = Number('x');
print(typeof a, a);       // number NaN
var b = new Number('x'); 
print(typeof b, b);       // object [Number: NaN]

Nombor mempunyai 5 atribut khas (baca sahaja), iaitu:

  • MAX_VALUE : Nilai positif maksimum, lebih besar nilainya akan menjadi Infiniti

  • MIN_VALUE : Nilai positif minimum, lebih kecil nilainya akan menjadi 0

  • NaN :Bukan Nombor

  • NEGATIVE_INFINITY: Infiniti negatif, iaitu, -Infiniti

  • POSITIVE_INFINITY: Infiniti positif, iaitu, Infiniti

print(Number.MAX_VALUE);         // 1.7976931348623157e+308
print(Number.MIN_VALUE);         // 5e-324
print(Number.NaN);               // NaN
print(Number.NEGATIVE_INFINITY); // -Infinity
print(Number.POSITIVE_INFINITY); // Infinity

Infiniti

Apabila hasil operasi berangka melebihi had atas nombor yang boleh diwakili oleh JavaScript, hasilnya ialah nilai infiniti khas (Jika nombor negatif, nilai melebihi bilangan yang JavaScript boleh mewakili julat nombor negatif, hasilnya ialah -Infinity.

Apabila hasil operasi menghampiri sifar secara tak terhingga dan lebih kecil daripada nilai minimum yang boleh diwakili oleh JavaScript (aliran bawah), hasilnya ialah 0. Apabila nombor negatif mengalir ke bawah, hasilnya ialah -0 dan nombor positif limpahan bawah, hasilnya ialah 0.

JavaScript mentakrifkan pembolehubah global Infinity dan NaN, yang kedua-duanya pembolehubah baca sahaja.

由于内存的限制,ECMAScript并不能保存世界上所有的数值。ECMAScript能够表示的最小数值保存在Number.MIN_VALUE中——在大多数浏览器中,这个值是5e-324;能够表示的最大数值保存在Number.MAX_VALUE中——在大多数浏览器中,这个值是1.7976931348623157e+308。如果某次计算的结果得到了一个超出JavaScript数值范围的值,那么这个数值将被自动转换成特殊的Infinity值。具体来说,如果这个数值是负数,则会被转换成-Infinity(负无穷),如果这个数值是正数,则会被转换成Infinity(正无穷)。 

如果某次计算返回了正或负的Infinity值,那么该值将无法继续参与下一次的计算,因为Infinity不是能够参与计算的数值。要想确定一个数值是不是有穷的(换句话说,是不是位于最小和最大的数值之间),可以使用isFinite()函数。

NaN

NaN是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)。

对于NaN,要记住的一点是,只要运算中出现NaN,结果就一定是NaN,就算是"NaN*0"这样的运算,也一样是NaN。只要对NaN运行比较运行,结果就一定是false,就算"NaN==NaN"/"NaN!=NaN"等,都是false。

要判断一个值是否为NaN,可以使用isNaN()函数:

print(isNaN(NaN));  // true
print(isNaN(0/0));  // true

在基于对象调用isNaN()函数时,会首先调用对象的valueOf()方法,然后确定该方法返回的值是否可以转换为数值。如果不能,则基于这个返回值再调用toString()方法,再测试返回值。

也可以使用x!==x来判断x是否为NaN,只有在x为NaN的时候,这个表达式的值才为true。

inFinite()

isFinite函数用于判断一个数是否为“正常”的数值:

print(isFinite(Number.NaN));               // false
print(isFinite(Number.NEGATIVE_INFINITY)); // false
print(isFinite(Number.POSITIVE_INFINITY)); // false

除了以上3个特殊值外,其他值的结果都为true

假如x是一个普通数值,则有:

x/0 = Infinity
x%0 = NaN
x/Infinity = 0
x%Infinity = x
0/0 = NaN
0%0 = NaN
Infinity/x = Infinity
Infinity%x = NaN
Infinity/Infinity = NaN
Infinity%Infinity = NaN

完整输出如下:

print(0 / 0);           // NaN
print(3 / 0);           // Infinity
print(Infinity / 0);    // Infinity
print(0 % 0);           // NaN
print(3 % 0);           // NaN
print(Infinity % 0);    // NaN
----------
print(0 / 4);           // 0
print(3 / 4);           // 0.75
print(Infinity / 4);    // Infinity
print(0 % 4);           // 0
print(3 % 4);           // 3
print(Infinity % 4);    // NaN
----------
print(0 / Infinity);           // 0
print(3 / Infinity);           // 0
print(Infinity / Infinity);    // NaN
print(0 % Infinity);           // 0
print(3 % Infinity);           // 3
print(Infinity % Infinity);    // NaN

负零与正零

负零与正零的值相等,不过毕竟带有符号,在一些运算中会有符号方面的差别,比如:

var zero = 0; 
var negz = -0;

此时,zero 等于 negz , 但1/zero 却不等于 1/negz。

【相关推荐:javascript视频教程编程基础视频

Atas ialah kandungan terperinci Berapa banyak jenis jenis berangka javascript yang ada?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Pembangunan Frontend dengan React: Kelebihan dan TeknikPembangunan Frontend dengan React: Kelebihan dan TeknikApr 17, 2025 am 12:25 AM

Kelebihan React adalah fleksibiliti dan kecekapannya, yang dicerminkan dalam: 1) Reka bentuk berasaskan komponen meningkatkan kebolehgunaan semula kod; 2) Teknologi DOM Maya mengoptimumkan prestasi, terutamanya apabila mengendalikan banyak kemas kini data; 3) Ekosistem yang kaya menyediakan sejumlah besar perpustakaan dan alat pihak ketiga. Dengan memahami bagaimana React Works dan menggunakan contoh, anda boleh menguasai konsep terasnya dan amalan terbaik untuk membina antara muka pengguna yang cekap dan boleh dipelihara.

React vs Rangka Kerja Lain: Membandingkan dan Berbeza PilihanReact vs Rangka Kerja Lain: Membandingkan dan Berbeza PilihanApr 17, 2025 am 12:23 AM

React adalah perpustakaan JavaScript untuk membina antara muka pengguna, sesuai untuk aplikasi besar dan kompleks. 1. Inti React adalah komponen dan DOM maya, yang meningkatkan prestasi rendering UI. 2. Berbanding dengan Vue, React lebih fleksibel tetapi mempunyai lengkung pembelajaran yang curam, yang sesuai untuk projek besar. 3. Berbanding dengan sudut, bertindak balas lebih ringan, bergantung kepada ekologi komuniti, dan sesuai untuk projek yang memerlukan fleksibiliti.

Demystifying React in HTML: Bagaimana semuanya berfungsiDemystifying React in HTML: Bagaimana semuanya berfungsiApr 17, 2025 am 12:21 AM

React beroperasi di HTML melalui DOM maya. 1) React menggunakan sintaks JSX untuk menulis struktur seperti HTML. 2) Kemas kini UI Pengurusan Maya DOM, rendering yang cekap melalui algoritma yang berbeza. 3) Gunakan reactDom.render () untuk menjadikan komponen ke DOM sebenar. 4) Pengoptimuman dan amalan terbaik termasuk menggunakan react.memo dan komponen pemisahan untuk meningkatkan prestasi dan penyelenggaraan.

Bertindak balas dalam tindakan: Contoh aplikasi dunia nyataBertindak balas dalam tindakan: Contoh aplikasi dunia nyataApr 17, 2025 am 12:20 AM

React digunakan secara meluas dalam e-dagang, media sosial dan visualisasi data. 1) Platform e-dagang Gunakan React untuk membina komponen keranjang belanja, gunakan USESTATE untuk menguruskan negeri, onclick untuk memproses acara, dan fungsi peta untuk membuat senarai. 2) Aplikasi media sosial berinteraksi dengan API melalui useeffect untuk memaparkan kandungan dinamik. 3) Visualisasi data menggunakan Perpustakaan React-Chartjs-2 untuk membuat carta, dan reka bentuk komponen mudah untuk membenamkan aplikasi.

Seni Bina Frontend dengan React: Amalan TerbaikSeni Bina Frontend dengan React: Amalan TerbaikApr 17, 2025 am 12:10 AM

Amalan terbaik untuk React Front-End Architecture termasuk: 1. 2. Pengurusan Negeri: Gunakan UseState, UserEducer, Contextapi atau Redux/Mobx untuk menguruskan Negeri untuk mengelakkan kerumitan yang berlebihan. 3. Pengoptimuman Prestasi: Mengoptimumkan prestasi melalui react.memo, usecallback, usememo dan kaedah lain untuk mencari titik keseimbangan. 4. Organisasi Kod dan Modularity: Susun kod mengikut modul berfungsi untuk meningkatkan kebolehpercayaan dan kebolehkerjaan. 5. Jaminan Ujian dan Kualiti: Ujian dengan Jest dan ReactTestingLibrary untuk memastikan kualiti dan kebolehpercayaan kod

React Inside HTML: Mengintegrasikan JavaScript untuk laman web dinamikReact Inside HTML: Mengintegrasikan JavaScript untuk laman web dinamikApr 16, 2025 am 12:06 AM

Untuk mengintegrasikan React ke HTML, ikuti langkah -langkah ini: 1. Memperkenalkan React dan Reactdom dalam fail HTML. 2. Tentukan komponen React. 3. Mengadakan komponen ke dalam elemen HTML menggunakan ReactDom. Melalui langkah -langkah ini, halaman HTML statik dapat diubah menjadi pengalaman yang dinamik dan interaktif.

Faedah bertindak balas: prestasi, kebolehgunaan semula, dan banyak lagiFaedah bertindak balas: prestasi, kebolehgunaan semula, dan banyak lagiApr 15, 2025 am 12:05 AM

Populariti React termasuk pengoptimuman prestasi, penggunaan semula komponen dan ekosistem yang kaya. 1. Pengoptimuman prestasi mencapai kemas kini yang cekap melalui mekanisme maya dan mekanisme yang berbeza. 2. Penggunaan semula komponen mengurangkan kod pendua oleh komponen yang boleh diguna semula. 3. Ekosistem yang kaya dan aliran data sehala meningkatkan pengalaman pembangunan.

React: Membuat antara muka pengguna yang dinamik dan interaktifReact: Membuat antara muka pengguna yang dinamik dan interaktifApr 14, 2025 am 12:08 AM

React adalah alat pilihan untuk membina antara muka pengguna yang dinamik dan interaktif. 1) Komponen dan JSX membuat UI berpecah dan menggunakan semula mudah. 2) Pengurusan negeri dilaksanakan melalui cangkuk UseState untuk mencetuskan kemas kini UI. 3) Mekanisme pemprosesan acara bertindak balas terhadap interaksi pengguna dan meningkatkan pengalaman pengguna.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual