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

Hem-de garaş

  • isNaN funksiýasyny,
    NaN üçin barlag geçirýär
  • typeof operatoruny,
    maglumat görnüşini kesgitleýär