Funksiyalar testi

ULASHISH

O‘zingizni sinab ko‘ring!

Bu viktorina asosiy funksiyalar viktorinasiga asoslanadi.

U this, call(), apply(), bind(), closure’lar va funksiyaga havolalar mavzulariga e’tibor qaratadi.

Agar bilimlaringizni yangilab olishingiz kerak bo‘lsa, avval asosiy testni sinab ko‘ring:

JavaScript funksiyalari bo‘yicha viktorina.

1-savol

person.getName() nima qaytaradi?

const person = {
  name: "John",
  getName: function() {
    return this.name;
  }
};

person.getName();
  • A. "John"
  • B. undefined
  • C. "person"

2-savol

getName() ni shunday chaqirishda buning qiymati nima?

const getName = person.getName;
getName();
  • A. Bu hali ham shaxs obyektidir
  • B. Bu Function qanday chaqirilishiga bog‘liq
  • C. U har doim undefined bo‘ladi


3-savol

Qaysi qator getName funksiyasini this sifatida person bilan to‘g‘ri chaqiradi?

const person = { name: "John" };
function getName() { return this.name; }
  • A. getName(person)
  • B. getName.call(person)
  • C. getName.apply = person

4-savol

Call() va application() o‘rtasidagi asosiy farq nima?

  • A. call() qiymat qaytaradi, apply() esa qaytarmaydi
  • B. call() argumentlarni ro‘yxat sifatida, apply() esa massiv sifatida qabul qiladi
  • C. apply() call()’dan tezroq ishlaydi

5-savol

Ushbu kod nimani qaytaradi?

function add(a, b) {
  return a + b;
}

add.apply(null, [4, 5]);
  • A. 9
  • B. [4, 5]
  • C. null

6-savol

bind() nima qiladi?

  • A. Funksiyani darhol chaqiradi
  • B. Qat’iy belgilangan this qiymatiga ega yangi funksiya yaratadi
  • C. Funksiyani strelka funksiyasiga aylantiradi

7-savol

GetJohn-da nima saqlanadi?

function greet() {
  return "Hello " + this.name;
}

const person = { name: "John" };
const getJohn = greet.bind(person);
  • A. "Hello John" stringi
  • B. Yangi funksiya
  • C. person obyekti

8-savol

Ushbu kod ikkinchi chaqiruvda nimani qaytaradi?

function counter() {
  let count = 0;
  return function() {
    count++;
    return count;
  };
}

const c = counter();
c();
c();
  • A. 1
  • B. 2
  • C. 0

9-savol

Qaysi fikr closure’ni eng yaxshi tavsiflaydi?

  • A. Darhol ishga tushadigan funksiya
  • B. O‘zgaruvchilarni tashqi doirasidan eslab qoladigan funksiya
  • C. Har doim obyektni qaytaradigan funksiya

10-savol

Funksiyani uzatish va funksiyani chaqirish o‘rtasidagi farq nima?

function sayHello() { return "Hello"; }

function run(fn) { return fn(); }

run(sayHello);
  • A. sayHello uzatiladi, sayHello() chaqiriladi
  • B. sayHello() uzatiladi, sayHello chaqiriladi
  • C. Hech qanday farq yo‘q

11-savol

IIFE nima uchun ishlatiladi?

  • A. Kod bajarilishini kechiktirish uchun
  • B. Xususiy ko‘rinish sohasini (private scope) yaratish uchun
  • C. Kodni avtomatik takrorlash uchun

Answers


1-savol

Javob: A

Tushuntirish: Obyekt usulida bu egalik obyektiga ishora qiladi.

2-savol

Answer: B

Tushuntirish: Usul oddiy funksiya sifatida chaqirilsa, bu endi obyekt emas.

3-savol

Answer: B.

Tushuntirish: call() funksiyani tanlangan bu qiymati bilan chaqiradi.

4-savol

Answer: B.

Tushuntirish: Ikkalasi ham this qiymatini belgilaydi, lekin argumentlarni turlicha uzatadi.

5-savol

Javob: A.

Tushuntirish: Massiv qiymatlari funksiya argumentlariga aylanadi.

6-savol

Answer: B.

Tushuntirish: bind() keyinroq chaqirishingiz mumkin bo‘lgan yangi funksiyani qaytaradi.

7-savol

Answer: B.

Tushuntirish: bind() funksiyani chaqirmaydi, yangi funksiyani qaytaradi.

8-savol

Answer: B.

Tushuntirish: The inner function remembers hisoblash (closure).

9-savol

Answer: B.

Tushuntirish: Closure’lar tashqi funksiya ishini tugatgandan keyin ham funksiyalarga ko‘rinish sohasini eslab qolish imkonini beradi.

10-savol

Javob: A.

Tushuntirish: sayHello — funksiyaga havola. sayHello() esa funksiyani bajaradi.

11-savol

Answer: B.

Tushuntirish: IIFE’lar global o‘zgaruvchilardan qochish uchun keng qo‘llanilgan.


Test natijasi

Agar siz ko‘p savollarga to‘g‘ri javob bergan bo‘lsangiz, rivojlangan funksiya tushunchalarini tushunasiz.

Agar yo‘q bo‘lsa, kengaytirilgan boblarni ko‘rib chiqing va qaytadan urinib ko‘ring.

Murakkab funksiyalar bo‘limiga qaytish


Maslahat:

Bu qanday ishlashini tushunsangiz, ilg‘or JavaScript osonroq bo‘ladi.

Shunda call(), apply() va bind() ancha tushunarli bo‘ladi.


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!