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 Let Хувьсагч

ESMAScript 2015-аас JavaScript-д let болон const гэдэг чухал хоёр шинэ түлхүүр үг нэмэгдсэн.
Эдгээр түлхүүр үгийн хамрах хүрээ нь Блок дотор хамаарах болно.
ESMAScript 2015-аас өмнө Глобал болон Функц дотор л гэсэн ойлголт байсан.


Глобал орчин

Хувьсагч зарлахдаа функцын гадна зарласан хувьсагчийг Глобал хувьсагч гэдгийг бид мэддэг болсон.

Жишээ нь

var phoneName = "IPhone";
myfunc();

function myFunc(){
document.getElementById("test").innerHTML = "Глобал хувьсагийг функцээс шууд дуудаж болно " + phoneName;
}
Үр дүнг харах

Глобал хувьсагчид JavaScript програмын хаанаас ч хандаж болдог гэдгийг бид өмнө нь үзсэн.


Функцийн орчин

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

Жишээ нь

myfunc();

function myFunc(){
var phoneName = "IPhone";
document.getElementById("test1").innerHTML = typeof + " " + phoneName;
}

document.getElementById("test2").innerHTML = typeof phoneName;
Үр дүнг харах

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


Блокийн орчин

Блок кодын гүйцэтгэлийг {} буюу суман хаалтад бичдэгийг бид бүгд мэднэ.
Блок кодод хувьсагчийг var түлхүүр үгээр зарлагдсан бол блокийн гаднаас хандах боломжтой байдаг.

Жишээ нь

{
var x = 2;
}

document.getElementById("test2").innerHTML = x; /* Блокийн гаднаас хандах боломжтой. */

ES2015-ас өмнө JavaScript-д блокийн орчин гэж байгаагүй.
Хувьсагчийг let түлхүүр үгээр зарладаг болсноор Блокийн орчин бий болсон бөгөөд блокийн гаднаас хувьсагчид хандах боломжгүй болсон юм.

Жишээ нь

{
let x = 2;
}
x /* хувьсагчид хандах боломжгүй юм. */

Хувьсагчийг дахин зарлах

var түлхүүр үгийг ашиглан хувьсагчийг дахин зарлах нь асуудал үүсгэх болно.

Жишээ нь

var x = 1000;
/* Энэ үед x ийн утга 1000 байна */
{
var x = 15;
/* Энэ үед x ийн утга 15 байна */
}

/* Энэ үед х ийн утга 15 байна. */
Үр дүнг харах

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

Жишээ нь

var x = 1000;
/* Энэ үед x ийн утга 1000 байна */
{
let x = 15;
/* Энэ үед x ийн утга 15 байна */
}

Энэ үед х ийн утга 1000 байна.
Үр дүнг харах

Давталтын орчин

var түлхүүр үгийг давталтад ашиглаж үзье.

Жишээ нь

var i = 10;
for (var i = 0; i < 20; i++) {
/* зарим нөхцөл */
}

Энэ үед i ийн утга 20 байна.
Үр дүнг харах

let түлхүүр үгийг давталтад ашиглаж үзье.

Жишээ нь

let i = 10;
for (let i = 0; i < 20; i++) {
/* зарим нөхцөл */
}

Энэ үед i ийн утга 10 байна.
Үр дүнг харах

АЖИГЛААД ҮЗЭЭРЭЙ: Давталтын орчинд хийсэн жишээний үр дүнг тайлбар харахгүй сайн ажиглаад учрын олоорой.

Эхний жишээнд var түлхүүр үгийг ашигласан бөгөөд давталтын гадна хувьсагчийг зарлаж, давталтад хувьсагчийн утгыг дахин тодорхойлсон байна.

Хоёр дахь жишээнд let түлхүүр үгийг ашиглан давталтын гадна хувьсагч зарласан бөгөөд энэ нь давталтын утганд хамаарахгүй юм.


Функцийн орчин

var болон let түлхүүр үгс нь функцийн орчинд бараг адилхан ажиллах болно. Харин функц нь блок код, давталт зэргийг ашиглах үед зөрүү нь гарах болно.

Жишээ нь

function myFunc(){
var phoneName = "Sumsung"; /* Функцийн орчинд ажиллана. */
}
function myFunc(){
let phoneName = "Sumsung"; /* Функцийн орчинд ажиллана. */
}

Глобал орчин

var болон let түлхүүр үгс нь Глобал орчинд бараг адилхан ажиллах болно. 

Жишээ нь

var x = 100   /* Глобал орчин */

let x = 100   /* Глобал орчин */


Глобал хувьсагч HTML-д

HTML-д глобал хувьсагчийн хамрах хүрээ нь Windows объект байдаг бөгөөд >var түлхүүр үгээр тодорхойлогдсон глобал хувьсагч л хамаарах болно.

Жишээ нь

var phoneName = "Sumsung";   /* Глобал орчин */
/* windows.phoneName ажиллах болно */
Үр дүнг харах
let phoneName = "Sumsung";   /* Глобал орчин */
/* windows.phoneName ажиллахгүй */
Үр дүнг харах

Дахин зарлах

var түлхүүр үгээр хувьсагчийг дахин зарлахыг програмын аль ч хэсэгт зөвшөөрдөг.

Жишээ нь

var x = 150;
/* x -н утга 150 байна. */

var x = 15;
/* Одоо x -н утга 15 байна. */
Үр дүнг харах

var болон let түлхүүр үгээр адил хувьсагчийг нэг түвшинд зарлаж болохгүй.

Хэрэв нэг түвшинд зарлавал эхэнд зарласныг зөвшөөрөх болно.

Жишээ нь

var x = 150;   /* зөвшөөрөгдсөн */
let x = 15; /* зөвшөөрөгдөөгүй */

{
var x = 150; /* зөвшөөрөгдсөн */
let x = 15; /* зөвшөөрөгдөөгүй */
}

Жишээ нь

let x = 150;   /* зөвшөөрөгдсөн */
var x = 15; /* зөвшөөрөгдөөгүй */

{
let x = 150; /* зөвшөөрөгдсөн */
var x = 15; /* зөвшөөрөгдөөгүй */
}

let түлхүүр үгээр адил хувьсагчийг нэг түвшинд зарлаж болохгүй.

Хэрэв нэг түвшинд зарлавал эхэнд зарласныг зөвшөөрөх болно.

Жишээ нь

let x = 150;   /* зөвшөөрөгдсөн */
let x = 15; /* зөвшөөрөгдөөгүй */

{
let x = 150; /* зөвшөөрөгдсөн */
let x = 15; /* зөвшөөрөгдөөгүй */
}

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

Жишээ нь

let x = 150;   /* зөвшөөрөгдсөн */

{
let x = 15; /* зөвшөөрөгдсөн */
}

{
let x = 50; /* зөвшөөрөгдсөн */
}

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

Контентын нэр
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.