⊗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
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა