Matumizi ya Kifunguni cha JavaScript
- Sehemu ya juu Matumizi ya template ya string ya JS
- Pya ja JS BigInt
JavaScript ina aina moja tu ya inani.
Inasoma kwa kuandika inani haujahitaji kushika na komi.
JavaScript inani
书写 JavaScript 数值既可以带小数点,也可以不带:
Mivuno
var x = 3.14; // 带小数点的数值 var y = 3; // 不带小数点的数值
超大或超小的数可通过科学计数法来写:
Mivuno
var x = 123e5; // 12300000 var y = 123e-5; // 0.00123
JavaScript 数值始终是 64 位的浮点数
与许多其他编程语言不同,JavaScript 不会定义不同类型的数,比如整数、短的、长的、浮点的等等。
Thamani za JavaScript zinaonesha kwa uharibifu wa ufupishaji wa pili, kulingana na standari ya IEEE 754 ya nje.
Muundo huu huitumia 64 viwango kusafisha thamani, na 0 hadi 51 kusafisha namba (kawaida), 52 hadi 62 kusafisha uharibifu, 63 viwango kusafisha tukio:
Worth (au kama Utafiti/Mantissa) | Uharibifu | Tukio |
---|---|---|
52 bits(0 - 51) | 11 bits (52 - 62) | 1 bit (63) |
Matokeo
Intei (bila matumizi ya ukurasa au uharibifu wa uwanja wa sayansi) inasababu hadi 15 viwango.
Mivuno
var x = 999999999999999; // x kinasababu 999999999999999 var y = 9999999999999999; // y kinasababu 10000000000000000
Utafiti wa asilimia zaidi ni 17 viwango, lakini ariki na uharibifu wa jumuiya hauwa 100% jipya:
Mivuno
var x = 0.2 + 0.1; // x kinasababu 0.30000000000000004
Kutumia kina na kusababisha inaaidha kusaidia kusolwa mafanikio ya juu:
Mivuno
var x = (0.2 * 10 + 0.1 * 10) / 10; // x kinasababu 0.3
Kinasababu na namba
Kumekadiri!!
Uharibifu na kuzingatia ya JavaScript zina kutumia kifungu +.
Namba inatumiwa na uharibifu. Kinasababu inatumiwa na kuzingatia.
Kama unaingia kina na kina, matokeo yoyote ni namba:
Mivuno
var x = 10; var y = 20; var z = x + y; // z kinasababu 30 (kama namba)
Kama unaingia kinasababu kuzingatia, matokeo yoyote ni kinasababu kuzingatia:
Mivuno
var x = "10"; var y = "20"; var z = x + y; // z itakuwa 1020 (jina)
Ikiwa unaingia namba na neno, matokeo yoyote ni kinasababu kuzingatia:
Mivuno
var x = 10; var y = "20"; var z = x + y; // z kinasababu 1020 (kama neno)
Kama unafikiria jina na thamani, matokeo yako kufikiria kama jina kuingia kama jina.
Mivuno
var x = "10"; var y = 20; var z = x + y; // z itakuwa 1020 (jina)
Mafanyikazo ya kawaida ni kwamba matokeo ni 30:
Mivuno
var x = 10; var y = 20; var z = "The result is: " + x + y;
Mafanyikazo ya kawaida ni kwamba matokeo ni 102030:
Mivuno
var x = 10; var y = 20; var z = "30"; var result = x + y + z;
JavaScript inafungua kwa kusambaa kushoto hadi kushoto.
Kwa sababu x na y ni thamani, 10 + 20 itakuwa kufikiria kama thamani.
Kwa sababu z ni jina, 30 + "30" itakuwa kufikiria kama jina.
Jina la thamani
Jina za JavaScript zingepata thamani zaidi:
var x = 100; // x ni thamani var y = "100"; // y ni jina
Kwenye matukio yote ya bilii, JavaScript inakosea kufikiria jina za kawaida kama thamani:
Hii itakuwa kama hili:
var x = "100"; var y = "10"; var z = x / y; // z itakuwa 10
Hii itakuwa kama hili:
var x = "100"; var y = "10"; var z = x * y; // z itakuwa 1000
Hii itakuwa kama hili:
var x = "100"; var y = "10"; var z = x - y; // z itakuwa 90
Tena, hii inakubali kama hili:
var x = "100"; var y = "10"; var z = x + y; // z haikuwa 110 (bali 10010)
Kwenye maelezo wa kina hii, JavaScript inatumia alama ya + kwa kufikiria jina za kawaida.
NaN - Haiwezi kuwa Namba
NaN
Inaonekana kama jina la JavaScript, inaonyesha kwamba thamani inaonekana kama namba ingine.
Kumtumia jina la namba lingana kwa umeme angalau itakuwa NaN (Haiwezi kuwa Namba):
Mivuno
var x = 100 / "Apple"; // x itakuwa NaN (Haiwezi kuwa Namba)
Tena, kama jina lina thamani, matokeo ni namba:
Mivuno
var x = 100 / "10"; // x itakuwa 10
Unaweza kutumia mfunzo wa JavaScript jingine kwa jumla: isNaN()
Kufikia kwa kuonyesha kwamba mivuno yako ni namba:
Mivuno
var x = 100 / "Apple"; isNaN(x); // Inaonyesha kwa x, kwa sababu x haikuwa namba
inaingia kwa kawaida NaN
Kama unatumia thamani katika matokeo wa hisia ya uhusiano wa kidhisia NaN
na kwamba matokeo yanaingia NaN
:
Mivuno
var x = NaN; var y = 5; var z = x + y; // z itakuwa NaN
Matokeo inaweza kuingia:
Mivuno
var x = NaN; var y = "5"; var z = x + y; // z itakuwa NaN5
NaN
Ni thamani,typeof NaN
Inarudia number
:
Mivuno
typeof NaN; // Inarudia "number"
Infinity
Infinity
au -Infinity
)Inarudia thamani yenye uadilifu wa upeo wa thamani wa kina wakati wa matokeo wa kidhisia cha thamani wa JavaScript.
Mivuno
var myNumber = 2; while (myNumber != Infinity) { // Inafanyishwa hadi Infinity myNumber = myNumber * myNumber; }
Kuwa kwa 0 (nje) kinakapokwenda kwenye thamani yenye uadilifu wa upeo wa thamani wa kina. Infinity
:
Mivuno
var x = 2 / 0; // x itakuwa Infinity var y = -2 / 0; // y itakuwa -Infinity
Infinity
Ni thamani:typeOf Infinity
Inarudia number
.
Mivuno
typeof Infinity; // Inarudia "number"
sifuri ya 16
JavaScript inaeleza thamani yenye chaguo cha awali ya 0x
kueleza thamani ya kina kama sifuri ya 16.
Mivuno
var x = 0xFF; // x itakuwa 255.
Hatarini kusoma thamani kwa chaguo cha awali (kama 07).
Mwili wa JavaScript wengi wanaona thamani yenye chaguo cha awali kama sifuri ya 8.
Kwa kawaida, JavaScript inaeleza thamani kama sifuri ya 10.
lakini unaweza kutumia toString()
Methodu inaandika thamani kama sifuri, sifuri ya 8 au sifuri ya 2.
Mivuno
var myNumber = 128; myNumber.toString(16); // Inarudia 80 myNumber.toString(8); // Inarudia 200 myNumber.toString(2); // Inarudia 10000000
Thamani inaweza kuwa kiume
Kwa kawaida, vya JavaScript vya upeo wa thamani huzengwa kwa thamani kwa ujumbe: var x = 123
Kamweze kumia kiashiria new
Inadaiwa kama jina la kipekee: var y = new Number(123)
Mivuno
var x = 123; var y = new Number(123); // typeof x inaonyesha kama thamani ya kiwango // typeof y inaonyesha kama jina la kipekee
Hapwezi kumia jina la thamani. Hii inaweza kusababisha ukendwa wa kusafiri
new
Kiashiria kinasababisha programu kimeandikwa kwa sababu ya matukio mbalimbali yasiyotafutikia
Kama ni kwa sababu ya ==
Kama ni kwa sababu ya operator wa kuingia, thamani zingetabiri zinaonekana zingekadiri zingekadiri:
Mivuno
var x = 500; var y = new Number(500); // (x == y) inaangazwa kama true kwa sababu x na y zinaadhimisha thamani zingekadiri
Kama ni kwa sababu ya ===
Baada ya kutoa operator wa kuingia, thamani zingetabiri zinaonekana zingekadiri zingekataa, kwa sababu ===
Operator inahitaji jina na thamani zingetabiri zingepata
Mivuno
var x = 500; var y = new Number(500); // (x === y) inaangazwa kama false kwa sababu x na y ni kwa jina tofauti
Ndio zaidi ya huzuni. Jina lake linakumpata kwa sababu ya hali ya kipekee:
Mivuno
var x = new Number(500); var y = new Number(500); // (x == y) inaangazwa kama false kwa sababu jina lake linakumpata
Jina la kiwango cha JavaScript inaweza kumishwa
- Sehemu ya juu Matumizi ya template ya string ya JS
- Pya ja JS BigInt