Ilg'or usullar
Agar dasturchi ob'ektni aylanib chiqsa va barcha xususiyatlarni ular qo'shilgan tartibda olishni istasa, ular "maxsus buyurtma" ga tayanishi mumkin, bu erda butun sonli xususiyatlar saralanadi va boshqalari JavaScript ob'ekti yaratilgan tartibda hosil bo'ladi.
Murakkab ob'ekt usullari JavaScriptting-da kamdan kam ishlatiladigan tushunchalar bilan shug'ullanadi. Buning sababi shundaki, ushbu kuchli xususiyatlar oddiy senariylarda kerak emas. Ushbu usullarning ba'zilari eski brauzerlarda ishlamasligi mumkin, masalan Netscape 4 ning erta versiyalari.
Prototipdan foydalanish nafaqat yangilarini, balki JavaScript-ni ob'ektlarini va barcha mycircle usullarini yaratish uchun ishlatilishi mumkin. Bu aralash ishlash yukini beradi. Ob'ektning har bir nusxasi uchun ular usullarning alohida nusxalarini saqlashlari shart emas, shuning uchun ular ishlash uchun kamroq xotira talab qilishi mumkin, ammo ularni topish uchun brauzer joriy va ota-ona doiralarini qidirishi kerak. Bu o'ta kechikishga olib kelishi mumkin. Odatda, foydalanuvchi ushbu qarorni ishlashga asoslanib emas, balki kod uchun mos bo'lgan narsani ishlatishi kerak, agar ular juda aniq boshqariladigan muhit bilan shug'ullanmasa.
Haqiqiy qaytish
Ba'zi hollarda, ob'ekt mulkining o'zi yoki prototip zanjirining biron bir joyiga bog'lanishi kerak bo'lishi mumkin. JavaScript-da barcha ob'ektlar hasOwnProperty usulidan foydalanadilar, agar bu xususiyat bitta ob'ekt nusxasiga bog'langan bo'lsa, haqiqiy bo'ladi. Bunday holda, ob'ekt konstruktori xuddi shu qiymatga ega bo'lgan ob'ekt xususiyatiga ega yoki yo'qligini tekshirish mumkin bo'ladi. Ob'ekt namunasi uchun ham, zanjir prototipi uchun ham bir xil qiymatga ega bo'lgan alohida JavaScript ob'ekti xususiyatlari mavjud bo'lsa, bu noto'g'ri natija berishi mumkin. HasOwnProperty usuli bitta parametrni, satr sifatida xususiyat nomini oladi.
Xuddi shu tarzda shaxsiy usullarni yaratish mumkin. Bu shunchaki konstruktor funktsiyasi ichida yaratilgan funktsiya. Ba'zilar uchun bu chalkash tuyulishi mumkin, ammo u shunday ishlaydi. Xususiy funktsiyani faqat konstruktor o'zi yoki satrda aniqlangan usullar bilan chaqirish mumkin. Agar ular jamoat konstruktoriga tayinlangan bo'lsa va ulardan foydalanish imkoniga ega bo'lsa, ular ommaviy usul sifatida ishlatilishi mumkin ochiq usullar Javascript ob'ektlari.
funktsiya myob () (funktsiya cantBeSeen () (ogohlantirish (secretValue));
) var secretValue \u003d "";
this.method1 \u003d function () (secretValue \u003d "(! LANG: kutilmagan hodisalar yo'q)";!}
this.method2 \u003d cantBeSeen;
) var oneOb \u003d yangi myob ();
oneOb.method1 ();
Amaliy qism
Do'stlaringiz bilan baham: |