⊗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 истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан