⊗jsPmCxUFC 434 of 505 menu

Neprivietos funkcijos kontekstas JavaScript

Pažiūrėkime, kas atsitiks, jei funkcijoje nurodysime this, bet nepririšime jos prie jokio elemento, štai taip:

function func() { console.log(this); } func();

Šiuo atveju rezultatas priklauso nuo to, ar esame įjungę strict režimą, ar ne. Jei režimas nėra strict, tada this talpins nuorodą į window:

function func() { console.log(this); // nuoroda į window } func();

O jei režimas yra strict, tada this talpins undefined:

"use strict"; function func() { console.log(this); // undefined } func();

Iš to, kas pasakyta aukščiau, gali atrodyti, kad strict režime this visada bus undefined. Tačiau ne! Jei tiesiog išvesti this už funkcijos ribų, jame bus nuoroda į window nepriklausomai nuo režimo:

"use strict"; console.log(this); // this talpina nuorodą į window

Išvados

Bet kurioje funkcijoje galima parašyti this, tai nesukels jokių JavaScript klaidų. Tačiau, kas tiksliai bus tame this neapibrėžta iki funkcijos iškvietimo momento. Be to, esant skirtingiems funkcijos iškvietimams, this gali įgauti skirtingas reikšmes. Viskas priklauso nuo konteksto, kuriame funkcija buvo iškviesta.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti