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ň:
javascriptfunction 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
javascriptisFinite(baha);
Mysal
Häzir isFinite true çykarar,
sebäbi parametr san:
javascriptlet num = 3;
console.log(isFinite(num));
Kodyň ýerine ýetiriliş netijesi:
javascripttrue
Mysal
Häzir isFinite false çykarar,
sebäbi parametr san däl:
javascriptlet num = 'abcde';
console.log(isFinite(num));
Kodyň ýerine ýetiriliş netijesi:
javascriptfalse
Mysal
Häzir isFinite false çykarar,
sebäbi parametr çäksizlik:
javascriptlet num = Infinity;
console.log(isFinite(num));
Kodyň ýerine ýetiriliş netijesi:
javascriptfalse
Mysal
Häzir isFinite false çykarar,
sebäbi 1/0 - bu esasan Infinity
(çäksizlik):
javascriptlet num = 1 / 0;
console.log(isFinite(num));
Kodyň ýerine ýetiriliş netijesi:
javascriptfalse
Mysal
Häzir isFinite true çykarar,
sebäbi boş setir, san bolmasa-da,
- bu ýüz tutmaýan ýagdaý:
javascriptlet num = '';
console.log(isFinite(num));
Kodyň ýerine ýetiriliş netijesi:
javascripttrue