isFinite Funksiýasy
Funksiýa isFinite parametriň çäksiz san däl (ýagny
setir, massiw we ş.m. däl we çäksiz ýa-da
çäksizlik däl) bolýandygyny barlamak üçin.
Bu funksiýa nähili işleýär: ol false gaýtarar,
eger san çäksiz ýa-da çäksizlik bolsa
(ýagny Infinity)
ýa-da san däl bolsa (ýagny NaN),
başga ähli ýagdaýlarda true gaýtarar.
Ýagny setirler, massiwler we ş.m. öwrüler
NaN we şonuň üçin false gaýtarar.
Emma ýüz tutmaýan ýagdaýlar bar: boş setir
'' true gaýtarýar, boşlukly setir ' '
hem true gaýtarýar, null
true gaýtarýar, true we false bahalary
üçin hem true gaýtarylýar.
Bu şonuň üçin ýüze çykýar, sebäbi bu bahalar
sanlara öwrülýär, NaN däl. Siz aslynda
sana takyk barlag zerur bolsa, boşlukly setiri,
mantyk we ýörite bahalary san hasaplamaýan
- aşakdaky isNumeric funksiýasyny ulanyň:
function isNumeric(num) {
return !isNaN(parseFloat(num)) && isFinite(num);
};
Geliň, onuň nähili işleýändigini düşüneli.
Funksiýa isFinite parametri sana öwürýär
we true gaýtarýar, eger bu Infinity,
-Infinity ýa-da NaN däl bolsa.
Şeýlelik bilen, sag tarap belli däl
san dälleri elýär, emma true,
false, null, boş setir '' we
boşlukly setir ýaly bahalary galdyrar, sebäbi olar dogry öwrülýär
sanlara.
Bu bahalary elýmek üçin
parseFloat funksiýasy zerur,
ýagny true, false, null, '', ' '
üçin NaN gaýtarar. parseFloat funksiýasy şeýle işleýär: ol
parametri setire öwürýär, ýagny true,
false, null bolýar 'true', 'false',
'null', soňra ondan san okap alýar,
bu ýerde boş setir we boşlukly setirler
NaN berýär. Soňra parseFloat netijesi işlenýär
!isNaN ulanyp,
NaN ýerine true ýa-da false almak üçin.
Netijede, san-setirlerden we adaty sanlardan başga
hemme zady elýär.
Sintaksis
isFinite(baha);
Mysal
Häzir isFinite true çykarar,
sebäbi parametr san:
let num = 3;
console.log(isFinite(num));
Kodyň ýerine ýetiriliş netijesi:
true
Mysal
Häzir isFinite false çykarar,
sebäbi parametr san däl:
let num = 'abcde';
console.log(isFinite(num));
Kodyň ýerine ýetiriliş netijesi:
false
Mysal
Häzir isFinite false çykarar,
sebäbi parametr çäksizlik:
let num = Infinity;
console.log(isFinite(num));
Kodyň ýerine ýetiriliş netijesi:
false
Mysal
Häzir isFinite false çykarar,
sebäbi 1/0 - bu esasan Infinity
(çäksizlik):
let num = 1 / 0;
console.log(isFinite(num));
Kodyň ýerine ýetiriliş netijesi:
false
Mysal
Häzir isFinite true çykarar,
sebäbi boş setir, san bolmasa-da,
- bu ýüz tutmaýan ýagdaý:
let num = '';
console.log(isFinite(num));
Kodyň ýerine ýetiriliş netijesi:
true