⊗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हिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць