Dok se radi o složenim kodovima u JavaScriptu, često postoji dvosmislenost u utvrđivanju razlike između ugrađene funkcije i normalne funkcije. Na primjer, provjera varijable stvorene tijekom izvođenja i dodijeljene funkciji. U takvim slučajevima, provjera je li varijabla funkcijske vrste pomoću JavaScripta pomaže u utvrđivanju i pravilnom sortiranju podataka.
Ovaj će blog pokazati pristupe za provjeru je li varijabla funkcijske vrste u JavaScriptu.
Kako provjeriti je li varijabla funkcijske vrste u JavaScriptu?
Za provjeru/provjeru je li varijabla funkcijske vrste u JavaScriptu, mogu se koristiti sljedeći pristupi:
- operator “typeOf”.
- operator “instanceof”.
- “object.prototype.tostring.call()” metoda.
Slijedimo svaki od pristupa jedan po jedan!
Pristup 1: Provjerite je li varijabla tipa funkcije u JavaScriptu pomoću operatora typeOf
' vrsta ” operator dohvaća tip podataka varijable. Ovaj se operator može koristiti u kombinaciji s operatorom striktne jednakosti (===) za primjenu provjere na određenu varijablu za njen tip.
Primjer
Pogledajmo sljedeći primjer:
< vrsta skripte = 'tekst/javascript' >funkcija pomnožiti ( a , b ) {
povratak a * b ;
}
ako ( vrsta pomnožiti === 'funkcija' ) {
konzola. log ( 'Varijabla je funkcijskog tipa' ) ;
}
drugo {
konzola. log ( 'Varijabla nije funkcijske vrste' ) ;
}
skripta >
Prođimo kroz sljedeće korake kako je navedeno u gornjem kodu:
- Deklarirajte funkciju pod nazivom ' pomnožiti() ” koji ima navedene parametre za množenje dva broja.
- U svojoj definiciji, pomnožite navedene brojeve proslijeđene kao parametre funkcije.
- Nakon toga primijenite ' vrsta ” uz pomoć striktno jednakog operatora za provjeru je li tip navedene varijable “ funkcija ”.
- Kao rezultat toga, bit će prikazana odgovarajuća poruka nakon zadovoljenog ili nezadovoljenog uvjeta.
Izlaz
U gornjem izlazu može se primijetiti da varijabla ' pomnožiti ” je funkcijskog tipa.
Pristup 2: Provjerite je li varijabla funkcijske vrste u JavaScriptu pomoću instanceof operatora
' instanceof ” operator se koristi za provjeru tipa određene funkcije, varijable itd., tijekom izvođenja. Ovaj se operator može upotrijebiti za provjeru tipa proslijeđenog parametra navođenjem odgovarajućeg tipa i primjenom provjere na njemu.
Sintaksa
Ime instanceof TipU gornjoj sintaksi:
- “ Ime ” odnosi se na naziv varijable/funkcije.
- “ Tip ” odgovara tipu varijable/funkcije, tj. niza itd.
Primjer
Donji primjer ilustrira navedeni koncept:
< vrsta skripte = 'tekst/javascript' >neka sampleFunc = funkcija ( ) {
}
funkcija verifyFunction ( x ) {
ako ( x instanceof Funkcija ) {
uzbuna ( 'Varijabla je funkcijskog tipa' ) ;
}
drugo {
uzbuna ( 'Varijabla nije funkcijskog tipa' ) ;
} }
verifyFunction ( sampleFunc ) ;
skripta >
U gornjem isječku koda:
- Prvo, definirajte ugrađenu funkciju pod nazivom ' sampleFunc() ”.
- Nakon toga, deklarirajte drugu funkciju pod nazivom ' verifyFunction() ” s navedenim parametrom. U njegovoj definiciji primijenite ' instanceof ' operator u ' ako/drugo ” stanje. Ovdje, ' x ” predstavlja naziv proslijeđenog parametra, a „ Funkcija ” označava njegovu vrstu.
- Na kraju, pristupite navedenoj funkciji prosljeđivanjem ugrađene funkcije kao njenog parametra. Ovo će rezultirati prikazom odgovarajuće poruke s obzirom na navedeni tip u operatoru.
Izlaz
Iz gornjeg izlaza može se uočiti da je navedena inline funkcija od ' funkcija ” vrsta.
Pristup 3: Provjerite/provjerite je li varijabla tipa funkcije u JavaScriptu pomoću metode object.prototype.tostring.call()
' Object.prototype.toString() ” metoda se koristi za vraćanje niza koji može predstavljati objekt. Ova se metoda može primijeniti uz pomoć metode objekta tako da se vrati tip objekta.
Primjer
Pogledajmo sljedeći primjer:
< vrsta skripte = 'tekst/javascript' >neka sampleFunc = funkcija ( ) { }
funkcija verifyFunction ( x ) {
ako ( Objekt . prototip . toString . poziv ( x ) == '[funkcija objekta]' ) {
konzola. log ( 'Varijabla je funkcijskog tipa' ) ;
}
drugo {
konzola. log ( 'Varijabla nije funkcijskog tipa' ) ;
} }
verifyFunction ( sampleFunc ) ;
skripta >
Izvršite sljedeće korake kako je navedeno u gornjim redcima koda:
- Isto tako, deklarirajte ugrađenu funkciju pod nazivom ' sampleFunc() ”.
- U sljedećem koraku definirajte funkciju pod nazivom ' verifyFunction() ” s navedenim parametrom.
- U njegovoj definiciji primijenite ' Object.prototype.toString.call() ” pozivajući se na parametar funkcije. ' Funkcija ” ovdje predstavlja vrstu određene funkcije koju treba provjeriti.
- Dodano ' ako ” uvjet se izvršava ako je proslijeđeni parametar funkcija.
- U drugom scenariju, ' drugo ” uvjet će se izvršiti.
Izlaz
Gornji rezultat pokazuje da je tražena funkcionalnost postignuta.
Zaključak
' vrsta ' operator, ' instanceof ' ili ' object.prototype.tostring.call() ” može provjeriti/provjeriti je li varijabla funkcijske vrste u JavaScriptu. Operator typeOf može se kombinirati s operatorom striktne jednakosti za provjeru tipa varijable. Instanca operatora provjerava prosljeđenu varijablu specificiranjem njezinog odgovarajućeg tipa i primjenom provjere na nju. Metoda object.prototype.tostring.call() vraća tip objekta. Ovaj zapis pruža metode za provjeru je li varijabla funkcijske vrste pomoću JavaScripta.