Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.
Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin. Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Javascriptda obyektni new UserData() qilib reset qilib bo'lmadi.

+5 ovoz
93 marta ko‘rilgan
so‘radi 18 dekabr, 16 Unknown (802 bal)

 Javascript, bitta obyektni reset qilish uchun ko'p vaqt ketdi. 

_userData = new UserDate(); //reset qilish uchun shuni qilgandim, ammo reset qilmadi. 

Ma'lumot uchun: delete _userData; yoki _userData =null;  _userData ni undefined yoki null qilib quyadi. Men _userData obyektni qayta uzlashtiradi deb o'ylagandim (xuddi Java kabi buladimi deb uylabman, Afsus shuncha vaqt). Ya'ni, Hamma fieldlarni default qiymatga qaytarmoqchi edim. 

O'xshamagandan keyin obyectni har bir qiymatini bitta-bitta default qiymatlarini berib chiquvchi metod qildim. Quyidagicha:

function UserData(){
     ... 
     this.clear = function () {//fieldlarni manual reset qilish
        _list1 = [];
        _list2 = [];
        _list3 = [];
        _userDetails.clear();
        _obj1 = null;

        _keepMeSignedIn = false;
        _responseIsValid = false;
        _a = 0;
        _str1 = "";
     };
     ...
}

Nimaga new UserData() qilganimda obyekni boshlang'ich qiymatlariga(reset) bo'lmayapti? clear metod qilganim to'g'rimi?

1 ta javob

+3 ovoz
javob berdi 19 dekabr, 16 Unknown (802 bal)
tanlangan 22 dekabr, 16 Unknown
 
Eng yaxshi javob

Java o'sha o'zgaruvchi uchun yangi address ga yangi obyekt yaratib quyadi. Eskisini Garbage Collector tozalab tashaydi, agar reference qolmagan bo'lsa. Xullas o'sha o'zgaruvchi reset buganga o'xshaydi. Lekin clear method to'g'riroq (imho-fikrimcha). Bu memory leaklardan eng havfsiz usul. Agar new qilinsa xotirada bir uyum chiqindi obyektlar tulib ketishi hech gap emas.

Qo'shimcha sifatida buni ko'rib chiqing: http://stackoverflow.com/questions/8440357/how-to-reset-this-js-object

(Savol va javobim manbasi:  Telegramdagi UzbekDevelopers yopiq guruhidan olingan.)

Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.

Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin.

Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Telegram kanal YordamUzRss

...