- "Scope" dasturdagi o'zgaruvchilar, funksiyalar, va obyektlarning ma'lum bir qismda mavjudligi va ko'rinishini belgilaydi.
- Scope dasturdagi o'zgaruvchilar va funksiyalar qaerda foydalanilishi mumkinligini va ular qanday o'zaro aloqada bo'lishini belgilaydi.
- Global Scope: Dasturdagi barcha joydan foydalanish mumkin bo'lgan scope. Global o'zgaruvchilar va funksiyalar global scope'da mavjud bo'ladi.
- Block Scope:
{}qavslar ichida mavjud bo'lgan scope.letvaconstbilan e'lon qilingan o'zgaruvchilar block scope'da mavjud bo'ladi. - Local yoki Function Scope: Funksiya ichida e'lon qilingan o'zgaruvchilar faqat o'sha funksiyada mavjud bo'ladi.
- Module Scope: ES6 modullari orqali yaratilgan scope. Modul ichidagi o'zgaruvchilar faqat shu moduldan foydalanishga ruxsat beradi.
- Lexical Scope: Dasturdagi funksiyalarni yozilgan joyiga qarab qaysi scope'da mavjudligini belgilaydi. Lexical scoping yordamida ichki funksiyalar tashqi funksiyalarning scope'dan foydalanishi mumkin.
var: Global yoki funksional scope'ga ega. O'zgaruvchivaryordamida e'lon qilinganda, u faqat o'sha blok ichida emas, balki boshqa bloklarda ham mavjud bo'ladi. Bu "hoisting" (yuklab olish) xususiyatiga ega bo'ladi.var x = 10; if (true) { var x = 20; console.log(x); // 20 } console.log(x); // 20
let: Block scope'ga ega.letyordamida e'lon qilingan o'zgaruvchi faqat o'sha blokda mavjud bo'ladi. Hoisting xususiyatiga ega emas.let y = 10; if (true) { let y = 20; console.log(y); // 20 } console.log(y); // 10
- Hisoblashni osonlashtirish: Loops yordamida bir xil kodni takroriy bajarish mumkin.
- DRY prinsipiga rioya qilish: "Don't Repeat Yourself" tamoyilini qo'llashga yordam beradi, ya'ni kodni takrorlamaslik.
forLoop- Sintaksis:
for (initializer; condition; iterator) { // statements }
- Misol:
for (let i = 1; i <= 10; i++) { console.log(i); }
- Turli Holatlar:
- Boshlang'ichsiz:
let j = 1; for (; j <= 10; j++) { console.log(j); }
- Shartsiz:
for (let j = 1; ; j++) { console.log(j); if (j > 10) { break; } }
- Iteratorisiz:
for (let j = 1; j < 10; ) { console.log(j); j += 1; }
- Boshlang'ich va Shartsiz:
let j = 1; for (; ; j++) { console.log(j); if (j > 10) { break; } }
- Shartsiz va Iteratorisiz:
let j = 1; for (; j <= 10; ) { console.log(j); j++; }
- Hech qanday ifoda yo'q:
let j = 1; for (;;) { if (j > 10) { break; } console.log(j); j++; }
- Boshlang'ichsiz:
- Mashqlar:
- 1 - n → oshirish;
- 1 - n → juft va toq sonlar;
- 1 - n → 5 ning ko'paytmalari;
- 10 - 1 → kamaytirish;
- 100 - 1 → kamaytirish;
- n - 1 → kamaytirish;
- a → b yoki b → a;
- yig'indi va ko'paytma.
- Sintaksis:
whileLoop- Sintaksis:
while (condition) { // code block to be executed }
- Misol:
let count = 1; while (count < 10) { console.log(count); count += 2; }
- Sintaksis:
do whileLoop- Sintaksis:
do { statements; } while (condition);
- Misol:
let count = 0; do { console.log(count); count++; } while (count < 5);
- Sintaksis:
forLoop:for (let i = 0; i < 5; i++) { console.log(i); if (i == 2) { break; } }
whileLoop:let i = 0; while (i < 5) { i++; console.log(i); if (i == 3) { break; } }
forLoop:for (let i = 0; i < 10; i++) { if (i % 2 === 0) { continue; } console.log(i); }
whileLoop:let i = 0; while (i < 10) { i++; if (i % 2 === 0) { continue; } console.log(i); }
- HTML:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <link rel="stylesheet" href="style.css" /> </head> <body> <div id="row"></div> <script src="./main.js"></script> </body> </html>
- CSS:
#row { display: flex; } .card { width: 33.33333%; padding: 15px; } .card-inner { border: 1px solid #555; border-radius: 10px; }
- JavaScript:
let list = ""; let card = "<div class='card'><div class='card-inner' style='border-radius: 15px'><img width='100%'style='border-radius: 15px'src="proxy.php?url=https%3A%2F%2Fgithub.com%2F%26lt%3Bhttps%3A%2F%2Fwww.bakeryandsnacks.com%2Fvar%2Fwrbm_gb_food_pharma%2Fstorage%2Fimages%2F9%2F9%2F4%2F2%2F2162499-5-eng-GB%2FNatural-and-organic-food-product-trends-shape-sales-success.jpg"alt='product>'/><h2 style='text-align: center; font-size: 40px'>Snacks</h2></div></div>"; for (let i = 1; i <= 3; i++) { list += card; } document.getElementById("row").innerHTML = list;
- Scope nima? Va uning turlari qanday?
varvaleto'rtasidagi farqlar qanday?- Loops nima uchun ishlatiladi va ularning turlari qanday?
forloop qanday ishlaydi? Har xil holatlar uchun misollar keltiring.whilevado whileloop'lari o'rtasidagi farqlar qanday?breakvacontinuekalit so'zlari qanday ishlaydi va ular qachon foydalaniladi?whileloopining cheksiz siklga kirishining oldini olish uchun qanday choralar ko'rish
mumkin? 8. JavaScript'da scoping nima? Block scope qanday ishlaydi? 9. HTML va CSS yordamida qanday qilib JavaScript orqali dinamik ravishda kontent yaratishingiz mumkin? 10. for loop orqali 1 dan 100 gacha bo'lgan juft sonlarni qanday chiqarasiz?