isFinite-funksie
Die isFinite funksie word gebruik om die parameter te verifieer
dat dit 'n eindige getal is (dus
nie 'n string, array, ens. en nie plus
of minus oneindigheid nie).
Hoe hierdie funksie werk: dit sal false teruggee,
as die getal plus of minus oneindigheid is
(dit is Infinity)
of nie 'n getal is nie (dit is NaN),
in alle ander gevalle sal dit true teruggee.
Dit beteken stringe, arrays, ens. sal omgeskakel word
na NaN en gevolglik false teruggee.
Daar is egter uitsonderings: 'n leë string
'' gee true terug, 'n string met spasies ' '
gee ook true terug, null
gee true terug, vir die waardes true en false
word ook true teruggegee.
Dit gebeur omdat hierdie waardes
omgeskakel word na getalle, en nie na NaN nie.
As jy werklik 'n presiese verifikasie
vir 'n getal nodig het, wat nie 'n string
van spasies, Booleaanse en spesiale waardes
as 'n getal beskou nie - gebruik die volgende funksie isNumeric:
function isNumeric(num) {
return !isNaN(parseFloat(num)) && isFinite(num);
};
Kom ons verduidelik hoe dit werk.
Die funksie isFinite skakel die parameter
om na 'n getal en gee true terug, as dit nie Infinity,
-Infinity of NaN is nie.
Dus, die regterkant sal voor die hand liggende
nie-getalle uitskakel, maar sal waardes soos
true, false, null, leë string '' en
'n string met spasies laat, aangesien hulle korrek omgeskakel word
na getalle.
Om hierdie waardes uit te skakel, is die funksie
parseFloat nodig,
wat vir true, false, null, '', ' '
NaN sal teruggee. So werk die parseFloat funksie: dit
skakel die parameter om na 'n string, d.w.s. true,
false, null word 'true', 'false',
'null', en lees dan die getal daaruit,
terwyl 'n leë string en 'n string met spasies
NaN gee. Dan word die resultaat van parseFloat verwerk
met !isNaN,
om true of false te kry in plaas van NaN.
Die gevolg is dat alles uitgeskakel word, behalwe getal-stringe
en gewone getalle.
Sintaksis
isFinite(waarde);
Voorbeeld
Nou sal isFinite true toon,
aangesien die parameter 'n getal is:
let num = 3;
console.log(isFinite(num));
Resultaat van kode-uitvoering:
true
Voorbeeld
Nou sal isFinite false toon,
aangesien die parameter nie 'n getal is nie:
let num = 'abcde';
console.log(isFinite(num));
Resultaat van kode-uitvoering:
false
Voorbeeld
Nou sal isFinite false toon,
aangesien die parameter oneindigheid is:
let num = Infinity;
console.log(isFinite(num));
Resultaat van kode-uitvoering:
false
Voorbeeld
Nou sal isFinite false toon,
aangesien 1/0 - dit is in wese Infinity
(oneindigheid):
let num = 1 / 0;
console.log(isFinite(num));
Resultaat van kode-uitvoering:
false
Voorbeeld
Nou sal isFinite true toon,
aangesien 'n leë string, wat nie 'n getal is nie,
- 'n uitsondering is:
let num = '';
console.log(isFinite(num));
Resultaat van kode-uitvoering:
true