Javascriptda boshlang'ich ko'nikmalar - Obyekt

Javascriptda boshlang'ich ko'nikmalar - Obyekt

Javascriptdan maqola yozishni boshlaganimdan beri obyekt haqidagi postni qanday yozsam ekan degan fikr bilan yuribman. Buning sababi obyekt tushunchasi dasturlash tillarining, shu jumladan Javascriptning ham juda katta qismni qamrab oladi. Bu tushunchani tushuntira olsam siz to'liq Javascript kurslarining 50% ini bemalol tushuna olish imkoniga ega bo'la olasiz. Shuning uchun aynan obyekt tushunchasini tushinib olish uchun ko'proq e`tibor qaratishingizni maslahat baraman. Hullas endi boshlasak!

Hayotdan misol qiladigan bo'lsak undagi har bir barsa obyekt. Masalan olaganda odam. Uni ismi, familiyasi, yoshi, istaklari, biror hodisaga nisbatan javob harakatlari ( gapirish, o'qish, ovqat yeyishi), oila azolari haqida malumotlar mavjud. Javascriptda aynan shu malumotlarni o'zida jamlagan obyekt ko'rinishi quyidagicha:

var person = {
    name: 'ism',            // string o'zgaruvchi
    lastname: 'familiya',   // string o'zgaruvchi
    age: 0,                 // sonli o'zgaruvchi
    wishes: [],             // massiv, aynan 
    speak: function(){},      // funksiya
    read: function(){},       
    eat: function(){},
    father: {              // boshqa biror bir obyekt 
        ...
    }
    ...
}

Obyekt 2 qismdan iborat. chap qismi, bu obyekt xususiyatlari (name, lastname, wishes).Ular javascriptda property dab ham ataladi. 2-qism parametr qiymati ('ism', 'familiya', [] — bosh massiv ). Buni boshqacharoq ham tarivlash mumkin: Obyekt shunchaki birnechta o'zgarunchilar to'plami. O'zgaruvchilar har xil turda bo'lishi ahamiyatsiz. Esingizda bo'lsa massivga ham shunaqa tarif berdan edik (massiv ko'p sondagi o'zgaruvchilar yig'indisi, uning elementlari turlari har xil bo'lishi mumkin).
Lekin aslida massiv ham obyektning xususiy holi. Javascriptda hamma narsa obyekt. String, sonli o'zgaruvchilar funksiyalar ham obyekt(obyektning hususiy hollari).
Obyekt yaratishning 2 xil usuli mavjud:

var obj = new Object();
var obj = {};

Ikkalasi ham bir xilda ishlaydi.

var obj = {}        // bosh obyekt
obj['name'] = 'John';     // obyektga name = 'John' bo'lgan hususiyat qo'shildi
/*yuqoridagi qatorni 
obj.name = 'John'
deb ishlatishingiz ham mumkin*/
alert(obj['name']);
delete obj['name'];       // obyektdan name o'chirildi

Siz o'zingiz ham shu yerda ishlatib ko'ring.

var person = {
    name : 'ism',
    lastname: 'familiya',
    wishes: [],
    read: function(){}
}
var str = '';
for(var key in person){
    str += key + ' - ' + person[key] + ',n';
}
/*  bu  yerda for person objectining 
 *  hamma property (xususiyat)lari  
 *  bo'yicha ishlaydi
 */
alert(str);

Bu yerda kodni o'zingiz o'zgartirib ko'rishingiz mumkin.
Siz obyektda metod tushunchasini uchraishingiz mumkin. Bu tushuncha obyektdagi funksiyalardir, funksiyalarni property lardan ajratish uchun shu tushuncha ishlatiladi. Bizning person degan obyektimizning speak, read, eat dagan metodlari bor.
Quyidagi misolni ko'ring, Unda obyek metodlari bilan ishlash, metod va xususiyat(property)larni ishlatish ko'rsatilgan

var new_person = {
    name : 'Allambalo',
    age: 30,
    sayName : function() {
       alert('Mening ismim '+this.name); 
    },
    sayAge: function() {
        alert('Men '+this.age + ' yoshdaman'); 
    },
    sayAll: function(){
        this.sayName();
        this.sayAge();        
    }
}

new_person.sayName();
new_person.sayAge();

new_person.name = 'Birbalo';
new_person.age =20;
new_person.sayAll();

Tekshirib ko'rish
Bu maqola juda kattalashib ketmasligi uchun bu mavzuni 2 qismga bo'lamiz. Qolgan malumotlarni 2-qisimda batafsil yozishga harakat qilaman.

Manba:


JONNY - Texnoman foydalanuvchisi

Muallif haqida

JONNY Arduino, Java, C#, Android, Windows, Linux, Debian, Javascript. O'zbekistonni rivojlantiramiz! Dasturlash orqali vatanimizni yangi marralarga olib chiqamiz.


Blogdagi so‘nggi maqolalar:


Birinchi bo‘ling!

Iltimos, fikr bildirish uchun saytga kiring yoki ro‘yxatdan o‘ting!