⊗jsPmCxUFC 434 of 505 menu

JavaScript-ում անկապ ֆունկցիայի կոնտեքստը

Եկեք տեսնենք, թե ինչ կլինի, եթե ֆունկցիայի մեջ նշենք this, բայց այն չկապենք որևէ տարրի, ահա այսպես.

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

Այս դեպքում արդյունքը կախված է նրանից, խիստ է մեր ռեժիմը, թե ոչ: Եթե ռեժիմը ոչ խիստ է, ապա this-ի մեջ կպահվի window-ի հղումը.

function func() { console.log(this); // հղումը դեպի window պատուհանը } func();

Իսկ եթե ռեժիմը խիստ է, ապա this-ի մեջ կպահվի undefined.

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

Վերոհիշյալից կարող է թվալ, որ խիստ ռեժիմում this-ը միշտ կլինի undefined: Ինչպես չէ! Եթե պարզապես արտածենք this-ը ֆունկցիայից դուրս, ապա դրա մեջ կլինի window-ի հղումը՝ անկախ ռեժիմից.

"use strict"; console.log(this); // this-ում հղում է դեպի window

Եզրակացություններ

Ցանկացած ֆունկցիայի մեջ կարելի է գրել this, սա չի հանգեցնի JavaScript-ի որևէ սխալի: Բայց հենց ինչ կլինի այս this-ի մեջ որոշված չէ մինչև ֆունկցիայի կանչի պահը: Ընդ որում, ֆունկցիայի տարբեր կանչերի ժամանակ this-ը կարող է ընդունել տարբեր արժեքներ: Ամենը կախված է այն կոնտեքստից, որում ֆունկցիան է կանչվել:

Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել