cb
ABCD
  • JS Танилцуулга
  • JS Хаана байрлах вэ
  • JS Гаралт /Output/
  • JS Мэдэгдэл /Statement/
  • JS Бичиглэл /Syntax/
  • JS Тайлбар /Comments/
  • JS Хувьсагч /Variables/
  • JS Оператор /Operators/
  • JS Арифметик оператор
  • JS Даалгаварын оператор
  • JS Өгөгдлийн төрөл
  • JS Функц /Function/
  • JS Обьект /Objects/
  • JS Тэмдэгт /Strings/
  • JS Тэмдэгтийн аргууд /String Methods/
  • Тоон утга /Numbers/
  • Тоон утга /Number methods/
  • JS Массив /Array/
  • JS Массив /Array Methods/
  • JS Ангилах /Sort/
  • JS массив давтах аргууд /Iteration/
  • JS Огноо /Dates/
  • JS огнооны формат
  • JS Get Date Methods
  • JS Set Date Methods
  • JS Математик объект
  • JS Cанамсаргүй тоо
  • JS Үнэн/ Худал Boolean утга
  • JS Харьцуулах ба Логик оператор
  • JS Нөхцөл шалгах / If Else
  • JS switch оператор
  • JS For давталт
  • JS For In давталт
  • Js For / Of давталт
  • JS While Давталт
  • JS Break ба Continue
  • JS Let Хувьсагч
  • JS Const Тогтмол хувьсагч
  • JS Төрөл хувиргалт
  • JS Алдаатай ажиллах Throw ба Try Catch
  • JS Гинжин хамаарал буюу Scope, Scope Chain
  • JS Hoisting буюу Өргөх
  • JS Хатуу горим буюу Strict Mode
  • JS this түлхүүр үг
тохиргоо
Толгой хэсэг
Хажуугийн самбар
Үндсэн контент
НЭВТРЭХ

JS Гинжин хамаарал буюу Scope, Scope Chain

Scope буюу Хамрах хүрээ нь Функц болон хувьсагчдын хамрах хүрээ (харагдах байдал) -ийг тодорхойлдог.


javaScript функцын хамрах хүрээ

JavaScript-д хоёр төрлийн хамрах хүрээ байдаг.

  • Local буюу дотоодын хамрах хүрээ
  • Global буюу нийтийн хамрах хүрээ

JavaScript-д функц бүр нь өөрийн гэсэн хамрах хүрээтэй байдаг. Хамрах хүрээ нь хувьсагчын харагдах байдалыг тодорхойлдог. Өөрөөр хэлбэл Функц дотор тодорхойлогдсон хувьсагчид функцийн гадна талаас хандах боломжгүй байдаг.


Local хувьсагч

JavaScript-д функц дотор зарласан хувьсагч нь Local орчинд буюу тухайн функцийн орчинд л ажиллах болно. Тухайн функц дотор зарласан хувьсагчид зөвхөн тухайн функц дотроос л хандах боломжтой юм. 

Жишээ нь

/* phone хувьсагчид хандах боломжгүй */

function myFunc() {
var phone = "IPhone";

/* phone хувьсагчид хандах боломжтой */
}
Үр дүнг харах

Локал хувьсагчийг зөвхөн функц дотроос л хүлээн зөвшөөрдөг тул ижил нэртэй хувьсагчуудыг өөр өөр функцэд ашиглаж болно.

Local хувьсагчууд нь функц эхлэхэд үүсдэг бөгөөд функц дуусахад устгагдана.


Global хувьсагч

Функцийн гадна зарлагдсан хувьсагч GLOBAL болно. Глобал орчинд зарласан хувьсагчид Вэб хуудас дээрх бүх скриптүүд болон функцууд түүнд нэвтрэх боломжтой байдаг.

Жишээ нь

var phone = "IPhone";

/* phone хувьсагчид хандах боломжтой */

function myFunc() {

/* phone хувьсагчид хандах боломжтой */

}
Үр дүнг харах

Хувьсагч

JavaScript-д объект, функц нь мөн адил хувьсагч юм.

Scope буюу хамрах хүрээ нь кодын өөр хэсгүүдээс хувьсагч, объект, функцэд нэвтрэх боломжийг тодорхойлдог.


Автомат ГЛОБАЛ хувьсагч

Хэрэв зарлагдаагүй хувьсагчид утга олгох үед автоматаар шууд ГЛОБАЛ хувьсагч болдог.
Доорх жишээнд функц дотор зарлагдаагүй хувьсагчид утга өгч шалгаж үзье.

Жишээ нь

myFunc();

/* phnoeName нэртэй зарлагдаагүй хувьсагчид функц дотороос утга олгож байна. */

function myFunc() {

phoneName = "IPhone";

}
Үр дүнг харах

HTML дэхь ГЛОБАЛ хувьсагч

HTML-д ГЛОБАЛ орчины хувьсагч нь window-н обьект юм. Өөрөөр хэлбэл ГЛОБАЛ орчинд зарлагдсан бүх хувьсагч нь window объектод хамаарах болно.

Жишээ нь

phoneName = "IPhone";

// кодод дараах байдлаар хандана window.phoneName
Үр дүнг харах

Scope Chain буюу Гинжин хамаарал

Жишээ зургийг сайн ажиглацгаая.

Дээрх зурганд глобал орчинд ( a ) Хувьсагч зарласан байна.

Мөн first(), third() функцийг нэг түвшинд зарлаж first() функц дотор second() функц зарласан байгааг сайн ажиглаарай.
ГЛОБАЛ орчинд зарласан хувьсагчид функц дотороос шууд хандах боломжтой байдаг, харин ГЛОБАЛ орчиноос функц доторх хувьсагчид хандах боломжгүй гэдгийг бид өмнөх хичээл дээр үзсэн. 

Дээрх зургийг дахин харцгаая. first() функц дотор second() функц зарласан байна.
Өөрөөр хэлбэл first() функцийн гадаад орчин нь ГЛОБАЛ орчин юм.
Харин second() функцийн гадаад орчин нь first() функц, first() функцийн гадаад орчин нь ГЛОБАЛ орчин юм. 

Тэгэхлээр first() функцээс a, b хувьсагчид хандах боломжтой бөгөөд second() функцийн c хувьсагчид хандах боломжгүй юм.
second() функцээс ГЛОБАЛ орчны хувьсагч a, first() функцийн хувьсагч b болон c хувьсагчид хандах боломжтой гэсэн үг юм. Үүнийг Scope Chain буюу Гинжин Хамаарал гэж нэрлэдэг байна.

Зургийг цааш ажиглавал first() функцтэй ижил төвшинд зарласан third() функцээс a, b, c, d хувьсагчийн утгыг console.log-д хэвлэх комманд өгсөн байна. Гэвч энэ нь алдаа өгөх болно. Голбал орчны а хувьсагчид хандах боломжтой боловч b болон с хувьсагчид хандах боломжгүй юм.

Жишээ нь

var a = 'Hello!';
first();

function first() {
	var b = 'Hi';
	second();

	function second() {
		var c = 'Hey!';
		third();
	}
}

function third() {
	var d = 'John';
	console.log(c);
}

Үр дүнг харах

JavaScript хувьсагчийн амьдралын хугацаа

Хувьсагчийг зарлахад хувьсагчийн хугацаа эхэлдэг.
Функц ажиллаж дуусахад локал хувьсагчууд устдаг.
Вэб хөтөч эсвэл тухайн цонхыг хаахад глобал хувьсагчууд устдаг байна.


Функцийн аргументууд

Функцийн аргументууд (параметрүүд) нь функц доторх локал хувьсагч болж ажилладаг.


Сэтгэгдэлүүд

Контентын нэр
JS Танилцуулга
JS Хаана байрлах вэ
JS Гаралт /Output/
JS Мэдэгдэл /Statement/
JS Бичиглэл /Syntax/
JS Тайлбар /Comments/
JS Хувьсагч /Variables/
JS Оператор /Operators/
JS Арифметик оператор
JS Даалгаварын оператор
JS Өгөгдлийн төрөл
JS Функц /Function/
JS Обьект /Objects/
JS Тэмдэгт /Strings/
JS Тэмдэгтийн аргууд /String Methods/
Тоон утга /Numbers/
Тоон утга /Number methods/
JS Массив /Array/
JS Массив /Array Methods/
JS Ангилах /Sort/
JS массив давтах аргууд /Iteration/
JS Огноо /Dates/
JS огнооны формат
JS Get Date Methods
JS Set Date Methods
JS Математик объект
JS Cанамсаргүй тоо
JS Үнэн/ Худал Boolean утга
JS Харьцуулах ба Логик оператор
JS Нөхцөл шалгах / If Else
JS switch оператор
JS For давталт
JS For In давталт
Js For / Of давталт
JS While Давталт
JS Break ба Continue
JS Let Хувьсагч
JS Const Тогтмол хувьсагч
JS Төрөл хувиргалт
JS Алдаатай ажиллах Throw ба Try Catch
JS Гинжин хамаарал буюу Scope, Scope Chain
JS Hoisting буюу Өргөх
JS Хатуу горим буюу Strict Mode
JS this түлхүүр үг
ABCD.mn ©

Нөхцөл & Шаардлага

1. General

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ultrices, justo vel imperdiet gravida, urna ligula hendrerit nibh, ac cursus nibh sapien in purus. Mauris tincidunt tincidunt turpis in porta. Integer fermentum tincidunt auctor.

2. Account

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ultrices, justo vel imperdiet gravida, urna ligula hendrerit nibh, ac cursus nibh sapien in purus. Mauris tincidunt tincidunt turpis in porta. Integer fermentum tincidunt auctor.

3. Service

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ultrices, justo vel imperdiet gravida, urna ligula hendrerit nibh, ac cursus nibh sapien in purus. Mauris tincidunt tincidunt turpis in porta. Integer fermentum tincidunt auctor.

4. Payments

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ultrices, justo vel imperdiet gravida, urna ligula hendrerit nibh, ac cursus nibh sapien in purus. Mauris tincidunt tincidunt turpis in porta. Integer fermentum tincidunt auctor.