Javascript "this". Miksi ei viitata muuttujaan?

e4e56e4

Miksi käytetään "this" sanaa muuttujan sijasta koodissa? Sama koodi saattaa löytyä muuttujalla ja käyttäen "this" sanaa.

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200)

vs

var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)

3

1014

    Vastaukset

    • Fiktiivinen tilanne selventää asiaa:

      Naapurissa asuu Kari Karvaperse
      Sinä menet heille kylään, ja haluat imarrella talon asukkaita, sanomalla:
      "Tässä talossa haisee raha"

      Aivan saman asian ajaisi myös jos sanoisit:
      "Kari Karvaperseen talossa haisee raha"

      Mutta, tuo viimmeisin sanonta paikanpäällä olessa olisi hämmentävä, kuitenkin täysin oikea, niinpä antamassasi esimerkissäkin sanotaan "this" = "tässä", vaikka aivan samaa se tarkoittaa sanoa "xmlhttp".

      Kummassakin tapauksessa kuitenkin syntyy epäily että asuuko jossakin toinen "Kari Karvaperse" tai onko olemassa joku globaali muuttuja johon pitää viitata "xmlhttp" nimellä.

      Siispä on selvempää käyttää "this" ja "Tässä" termiä epäilyjen ja mahdollisten sekaannusten välttämiseksi.

      • Tähän on vielä hyvä lisätä että itsestään puhuminen kolmannessa persoonassa on m. . .-sairauteen viittaavaa käyttäytymistä. Normaalisti ihminen käyttää ensimäistä persoonaa
        Minä puhuin
        Sinä puhuit
        Hän puhui

        Mutta Kari Karvaperse puhuu:
        "Kali ei halua luokaa"
        Johon Karin äiti vastaa:
        "Äiti antaa piiskaa ellei Kari syö ruokaansa"

        Joten vanhemilta opittuahan se on. Juuri samasta asiastahan tuossa avauksen tehneen kysymyksessäkin on kyse, funktioon tai muuttujaan viitataan kolmannessa persoonassa, joka kyllä toimii ja on ymmärrettävissä, mutta ei hyvä tavan mukaista.


      • Turbo-Urpo kirjoitti:

        Tähän on vielä hyvä lisätä että itsestään puhuminen kolmannessa persoonassa on m. . .-sairauteen viittaavaa käyttäytymistä. Normaalisti ihminen käyttää ensimäistä persoonaa
        Minä puhuin
        Sinä puhuit
        Hän puhui

        Mutta Kari Karvaperse puhuu:
        "Kali ei halua luokaa"
        Johon Karin äiti vastaa:
        "Äiti antaa piiskaa ellei Kari syö ruokaansa"

        Joten vanhemilta opittuahan se on. Juuri samasta asiastahan tuossa avauksen tehneen kysymyksessäkin on kyse, funktioon tai muuttujaan viitataan kolmannessa persoonassa, joka kyllä toimii ja on ymmärrettävissä, mutta ei hyvä tavan mukaista.

        Vi. . .u, nyt meni niin moralisoivaan sävyyn, että on vielä pakko huomauttaa, etten minä vitut veisaan hyvän tavan ohjelmoinnista, teen sen niin kuin huvittaa.


    suomi24-logo

    Osallistu keskusteluun

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Loppu tulee

      https://www.iltalehti.fi/talous/a/de4f134c-da1b-45ba-88bd-47c1c70283ec Vihdoinkin Umpilla on tajuttu Jämsän heikon sijainnin merkitys bisnekselle. Vi
      Jämsä
      60
      1308
    2. Stefun sisko ja Sofia parhaat ystävät

      Stefun sisko laittanut ig storyyn videon Sofiasta sydämillä. Sofia laittoi ig storyynsa Stefun siskosta videota, Rapumestari ja pusuhymiö. Stefun sisk
      Kotimaiset julkkisjuorut
      184
      1302