Skontrolujte, či je premenná typu funkcie pomocou JavaScriptu

Skontrolujte Ci Je Premenna Typu Funkcie Pomocou Javascriptu



Pri riešení zložitých kódov v JavaScripte sa často vyskytuje nejednoznačnosť pri zisťovaní rozdielu medzi inline funkciou a normálnou funkciou. Napríklad kontrola premennej vytvorenej za behu a priradenej k funkcii. V takýchto prípadoch kontrola, či je premenná funkčného typu pomocou JavaScriptu, pomáha pri zisťovaní a správnom triedení údajov.

Tento blog bude demonštrovať prístupy na overenie, či je premenná typu funkcie v JavaScripte.







Ako skontrolovať, či je premenná typu funkcie v JavaScripte?

Na kontrolu/overenie, či je premenná typu funkcie v JavaScripte, možno použiť nasledujúce prístupy:



  • operátor „typeOf“.
  • „inštancia“ operátora.
  • metóda „object.prototype.tostring.call()“.

Sledujme každý z prístupov jeden po druhom!



Prístup 1: Skontrolujte, či je premenná typu funkcie v JavaScripte pomocou operátora typeOf

' Typ Operátor ” načíta dátový typ premennej. Tento operátor možno použiť v kombinácii s operátorom striktnej rovnosti (===) na vykonanie kontroly konkrétnej premennej pre jej typ.





Príklad

Pozrime sa na nasledujúci príklad:

< typ skriptu = 'text/javascript' >
funkciu množiť ( a , b ) {
vrátiť a * b ;
}
ak ( Typ množiť === 'funkcia' ) {
konzoly. log ( 'Premenná je typu funkcie' ) ;
}
inak {
konzoly. log ( 'Premenná nie je typu funkcie' ) ;
}
skript >

Poďme si prejsť nasledujúcimi krokmi, ako je uvedené vo vyššie uvedenom kóde:



  • Deklarujte funkciu s názvom „ násobiť () ” s uvedenými parametrami na násobenie dvoch čísel.
  • Vo svojej definícii vynásobte zadané čísla odovzdané ako parametre funkcie.
  • Potom použite „ Typ ” operátor s pomocou prísneho rovného operátora na overenie, či typ uvedenej premennej je “ funkciu “.
  • V dôsledku toho sa príslušná správa zobrazí pri splnenej alebo nesplnenej podmienke.

Výkon

Vo vyššie uvedenom výstupe možno pozorovať, že premenná „ množiť “ je typu funkcie.

Prístup 2: Skontrolujte, či je premenná typu funkcie v JavaScripte pomocou instanceof Operator

' instanceof Operátor ” sa používa na kontrolu typu konkrétnej funkcie, premennej atď. v čase spustenia. Tento operátor sa môže použiť na kontrolu odovzdaného parametra pre jeho typ zadaním jeho zodpovedajúceho typu a vykonaním kontroly.

Syntax

názov instanceof Typ

Vo vyššie uvedenej syntaxi:

  • názov “ označuje názov premennej/funkcie.
  • Typ ” zodpovedá typu premennej/funkcie, t. j. reťazec atď.

Príklad

Nižšie uvedený príklad ilustruje uvedený koncept:

< typ skriptu = 'text/javascript' >
nech sampleFunc = funkciu ( ) {
}
funkciu overiťFunkciu ( X ) {
ak ( X instanceof Funkcia ) {
upozorniť ( 'Premenná je typu funkcie' ) ;
}
inak {
upozorniť ( 'Premenná nie je typu funkcie' ) ;
} }
overiťFunkciu ( sampleFunc ) ;
skript >

Vo vyššie uvedenom útržku kódu:

  • Najprv definujte inline funkciu s názvom „ sampleFunc() “.
  • Potom deklarujte ďalšiu funkciu s názvom „ overFunction() “ s uvedeným parametrom. Vo svojej definícii použite „ instanceof ” operátor v “ ak/inak “podmienka. Tu, ' X “ predstavuje názov odovzdaného parametra a “ Funkcia “ označuje jeho typ, resp.
  • Nakoniec prejdite k uvedenej funkcii tak, že ako jej parameter odošlete inline funkciu. V dôsledku toho sa zobrazí zodpovedajúca správa s ohľadom na zadaný typ v operátorovi.

Výkon

Z vyššie uvedeného výstupu je možné pozorovať, že uvedená inline funkcia je „ funkciu typ “.

Prístup 3: Kontrola/overenie, či je premenná typu funkcie v JavaScripte pomocou metódy object.prototype.tostring.call()

' Object.prototype.toString() ” metóda sa používa na vrátenie reťazca, ktorý môže reprezentovať objekt. Túto metódu možno použiť pomocou metódy objektu tak, že sa vráti typ objektu.

Príklad

Pozrime sa na nasledujúci príklad:

< typ skriptu = 'text/javascript' >
nech sampleFunc = funkciu ( ) { }
funkciu overiťFunkciu ( X ) {
ak ( Objekt . prototyp . natiahnuť . hovor ( X ) == '[Funkcia objektu]' ) {
konzoly. log ( 'Premenná je typu funkcie' ) ;
}
inak {
konzoly. log ( 'Premenná nie je typu funkcie' ) ;
} }
overiťFunkciu ( sampleFunc ) ;
skript >

Vykonajte nasledujúce kroky, ako je uvedené vo vyššie uvedených riadkoch kódu:

  • Podobne deklarujte inline funkciu s názvom „ sampleFunc() “.
  • V ďalšom kroku definujte funkciu s názvom „ overFunction() “ s uvedeným parametrom.
  • Vo svojej definícii použite „ Object.prototype.toString.call() ” metódou odkazom na parameter funkcie. ' Funkcia ” tu predstavuje typ konkrétnej funkcie, ktorá sa má skontrolovať.
  • Pridané „ ak ” podmienka sa vykoná, ak je odovzdaným parametrom funkcia.
  • V inom scenári „ inak “ podmienka sa vykoná.

Výkon

Vyššie uvedený výstup naznačuje, že požadovaná funkčnosť bola dosiahnutá.

Záver

' Typ operátor, instanceof operátor “, alebo “ object.prototype.tostring.call() ” metóda môže skontrolovať/overiť, či je premenná funkčného typu v JavaScripte. Operátor typeOf možno skombinovať s operátorom striktnej rovnosti na kontrolu typu premennej. Inštancia operátora skontroluje odovzdanú premennú tak, že zadá jej zodpovedajúci typ a použije na ňu kontrolu. Metóda object.prototype.tostring.call() vráti typ objektu. Tento zápis poskytol metódy na overenie, či je premenná funkčného typu pomocou JavaScriptu.