Koja je razlika između metode i funkcije u JavaScript-u?


Odgovor 1:

Razlika između metode i funkcije: Ništa kao takvo

Funkcija je skup koda za obavljanje nekog zadatka u JavaScript-u.

Metoda je također funkcija koja se koristi kao svojstvo u Objektu.

ex:

Funkcija: ispod je funkcija dodavanja dva broja.

var func = funkcija (a, b) {

var sum = a + b;

povratni iznos;

}

metoda:

var obj = {ime: "Amod", empId: "A1122", dob: funkcija (prisutan godine, DOB) {povratak prisutan godine - DOB}

}

Korištenje funkcije kao svojstva unutar objekta je metoda. Zapravo su obje funkcije.

Nadam se da ste razumjeli.

(Kopirajte zalijepljeno iz drugog pitanja u vezi s kvorom, jer znam odgovor i bio je točan)


Odgovor 2:

Ubacimo izvorni govornik engleskog u miks.

Činjenice:

  1. Sve su metode funkcije. Nisu sve funkcije metode. Sve funkcije u Javi su metode - jer je Java čisti objektno orijentirani jezik. Java pravilno koristi riječ "metoda".

Metoda je posebna vrsta funkcije koja pripada objektu. Funkcija koja nije metoda je funkcija koju je moguće izravno nazvati, bez upućivanja na objekt spremnika; Samostalne funkcije često se koriste kao anonimne funkcije, posebno u funkcionalnom programiranju. To možemo vidjeti u JS-u, ali on u Javi zapravo ne postoji, jer se funkcija u Javi ne može deklarirati bez da je veže na objekt, što ga čini metodom.

Na primjer, u Node.js / JS:

funkcija pure () {
 return 'Ovo je funkcija koju je moguće izravno nazvati';
}
var obj = {};
obj.method = function () {
return 'Ovo je metoda, morate je pozvati s obj.method ()';
};

Odgovor 3:

To je zaista teško pitanje u slučaju JavaScripta. Tehnički je metoda funkcija koja je ujedno i svojstvo objekta.

Dakle: imObject.imMethod ()

Dok bi funkcija bila samo: imFunction ()

Pa gdje su sve trikove? Pa kada definirate funkciju kao što je niže:

funkcija helloWorld () {
    console.log ('Pozdrav, svijet!')
}

Tada se automatski pridružuje globalnom objektu (u slučaju preglednika naziva se prozor). Pa kad prođemo ispod codewindow.helloWorld () ispisat će „Hello, world!“ Na konzolu. AKA to je metoda objekta prozora.

Isto će se dogoditi kada izjavimo funkciju kao što je dolje:

var helloWorld = function () {console.log ('Zdravo, svijet!')} ORvar helloWorld = () => console.log ('Zdravo, svijet!')

Ali, hej to nije sve. Neće postati vlasništvo globalnog objekta kada ćemo ga izjaviti pomoću const ili pustiti ključne riječi umjesto var.

Također, kada to učinite:

neka imReferenceToMethod = someObject.someMethod

Tada ćete dobiti funkciju koja nije metoda koja se zove imReferenceToMethod, unatoč činjenici da su SomeObject.someMethod i imReferenceToMethod iste funkcije.

U praksi terminologija funkcionira na ovaj način: Bilo koja metoda i riječi funkcije koriste se naizmjenično - ili - Riječ metoda koristi se za opisivanje funkcija koja su svojstva objekta koja nisu globalna.


Odgovor 4:

Funkcija je dio koda koji se naziva imenom. Mogu se proslijediti podaci na kojima je moguće raditi i mogući po želji vratiti podatke. Svi podaci koji su proslijeđeni funkciji izričito su proslijeđeni.

Metoda je dio koda koji se naziva imenom koje je povezano s objektom. U većini je razloga identična funkciji, osim dvije ključne razlike:

  1. Metoda je implicitno prošla objekt na kojem je nazvana. Metoda može raditi na podacima koji se nalaze unutar klase

Više informacija o ovoj temi,

posjetite learnverncom / jedinica / funkcija-konstruktor-funkcija-metoda-js


Odgovor 5:

Nije kvaliteta funkcije već kako se poziva.

Razmotrimo slijedeći primjer.

funkcija Foo () {}

Foo.prototype.bar = Foo_bar;

funkcija Foo_bar () {
  povratak 1;
}

neka foo = novi Foo ();

U ovom slučaju Foo_bar je funkcija koja se može koristiti kao metoda.

foo.bar ()

i

Foo_bar.call (foo)

su ekvivalentni.


Odgovor 6:

Nije kvaliteta funkcije već kako se poziva.

Razmotrimo slijedeći primjer.

funkcija Foo () {}

Foo.prototype.bar = Foo_bar;

funkcija Foo_bar () {
  povratak 1;
}

neka foo = novi Foo ();

U ovom slučaju Foo_bar je funkcija koja se može koristiti kao metoda.

foo.bar ()

i

Foo_bar.call (foo)

su ekvivalentni.


Odgovor 7:

Nije kvaliteta funkcije već kako se poziva.

Razmotrimo slijedeći primjer.

funkcija Foo () {}

Foo.prototype.bar = Foo_bar;

funkcija Foo_bar () {
  povratak 1;
}

neka foo = novi Foo ();

U ovom slučaju Foo_bar je funkcija koja se može koristiti kao metoda.

foo.bar ()

i

Foo_bar.call (foo)

su ekvivalentni.