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

2022

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Turbo-Urpo

      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.

      • Turbo-Urpo

        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
        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.


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

    Luetuimmat keskustelut

    1. Missä kokoomuksen naiset?

      Hähmäistä ukkotarinaa kuultu koko viikonloppu. Kukaan ei ole kokoomuksessa edes yrittänyt pitää naisten puolta. Jopa
      Maailman menoa
      187
      4780
    2. Kela tukee virallisesti Pride-liikettä

      Iso kiitos Kansaneläkelaitokselle tuen osoittamisesta myös vähemmistöille. Näin toimii vastuullinen valtiollinen koko k
      Maailman menoa
      30
      3660
    3. Finland is now Petter place

      Audin B-ryhmän ralliautolla saatiin kansa voimaan hyvin. Kiitos kokoomus huumoripläjäyksestä.
      Maailman menoa
      39
      2572
    4. Ilman Stadia Suomessa ei olisi kunnon lihajalosteita

      HK, Helsingin makkaratehdas, Votkin, mitä näitä nyt onkaan. Böndellä ei ole kunnollisia jalostajia.
      Maailman menoa
      157
      2247
    5. Jorma Lind kuollut

      Ylen uutisankkurina 40 vuotta toiminut Jorma Lind on kuollut 85-vuotiaana. https://yle.fi/a/74-20230265 ARVl on näet
      Maailman menoa
      48
      1530
    6. Mikä on kaunein

      Ja hellyttävin hetki irl kaivattusi kanssa?
      Ikävä
      73
      1308
    7. Mahdatko ymmärtää sitä

      Mä en selviä jollei me jutella kunnolla. Tarvitsen sua siihen. Etkä sä voi sitä tietää kun en ole ilmaissut mutta olen
      Ikävä
      75
      1151
    8. Toivon että kuulut elämääni

      Mutta aika näyttää miten läheisesti. Lupaan kertoa jossain sivulauseessa, kun muutan paikkaa.
      Ikävä
      71
      1142
    9. En unohda sua

      En vaan unohda sua. Eikä se näköjään ole tarkoituskaan. Rakastan sua sitten omalla tavalla kauempaa kun mikään muu ei on
      Ikävä
      39
      1083
    10. Ensimmäisenä Helluntaina ei uudelleen kastettu KETÄÄN!

      Raamattu kertoo, että Helluntaina kastettiin. Mutta vaikka Raamattu ei erikseen kerro tiedän VARMASTI Ettei
      Kaste
      691
      1011
    Aihe