Dvigatellar qanday ishlaydi? Dvigatellar murakkab. Ammo asoslari oson.
Dvigatel (agar u brauzer bo'lsa, o'rnatilgan) skriptni o'qiydi ("tahlil qiladi")Keyin u skriptni mashina tiliga o'zgartiradi ("kompilyatsiya qiladi"). Va keyin mashina kodi juda tez ishlaydi. Dvigatel jarayonning har bir bosqichida optimallashtirishlarni qo'llaydi. U hattoki kompilyatsiya qilingan skriptni ishlayotganda kuzatib boradi, u orqali oqib o'tadigan ma'lumotlarni tahlil qiladi va shu ma'lumot asosida mashina kodini yanada optimallashtiradi.
Brauzerda JavaScript nima qilishi mumkin?
Zamonaviy JavaScript - bu "xavfsiz" dasturlash tili. Bu xotira yoki protsessorga past darajadagi kirishni ta'minlamaydi, chunki dastlab uni talab qilmaydigan brauzerlar uchun yaratilgan.
JavaScript-ning imkoniyatlari u ishlayotgan muhitga bog'liq. Masalan, Node.js JavaScript-ga o'zboshimchalik bilan fayllarni o'qish / yozish, tarmoq so'rovlarini bajarish va h.k.
Brauzer ichidagi JavaScript veb-sahifani boshqarish, foydalanuvchi bilan o'zaro aloqasi va veb-server bilan bog'liq barcha narsani amalga oshirishi mumkin.
Masalan, brauzer ichidagi JavaScript quyidagilarga qodir:
Sahifaga yangi HTML qo'shing, mavjud tarkibni o'zgartiring, uslublarni o'zgartiring.
Foydalanuvchining harakatlariga munosabat bildiring, sichqonchani bosish, ko'rsatgich harakatlari, tugmachalarni bosish bilan ishlang.
Masofaviy serverlarga tarmoq orqali so'rov yuboring, fayllarni yuklab oling va yuklang ( AJAX va COMET texnologiyalari deb ataladi ).
Mijoz tomonidagi ma'lumotlarni eslab qoling ("mahalliy saqlash").
JavaScript-ni brauzerda nima qila olmaydi?
JavaScript-ning brauzerdagi imkoniyatlari foydalanuvchi xavfsizligi uchun cheklangan. Maqsad yomon veb-sahifaning shaxsiy ma'lumotlarga kirishini yoki foydalanuvchi ma'lumotlariga zarar etkazishini oldini olishdir.
Bunday cheklovlarga quyidagilar kiradi:
Veb-sahifadagi JavaScript-ni qattiq diskdagi o'zboshimchalik bilan fayllarni o'qish / yozish, ularni nusxalash yoki dasturlarni bajarish mumkin emas. U OS funktsiyalariga to'g'ridan-to'g'ri kirish huquqiga ega emas.
Zamonaviy brauzerlar unga fayllar bilan ishlashga imkon beradi, ammo kirish cheklangan va faqat foydalanuvchi brauzer oynasiga faylni "tushirish" yoki yorliq orqali tanlash kabi ba'zi harakatlar qilgan taqdirda taqdim etiladi .
Kamera / mikrofon va boshqa qurilmalar bilan aloqa qilish usullari mavjud, ammo ular foydalanuvchidan aniq ruxsat talab qiladi. Shunday qilib, JavaScript-ni qo'llab-quvvatlagan sahifa veb-kamerani yashirincha yoqmasligi, atrofni kuzatishi va ma'lumotni NSAga yuborishi mumkin emas .
Turli xil yorliqlar / derazalar odatda bir-birlarini bilishmaydi. Ba'zan ular shunday qilishadi, masalan, bitta oyna ikkinchisini ochish uchun JavaScript-ni ishlatganda. Ammo bu holatda ham bitta sahifadagi JavaScript-ni boshqa saytga kirish mumkin emas, agar ular turli saytlardan (boshqa domendan, protokoldan yoki portdan) bo'lsa.
Bu "Xuddi shu kelib chiqish siyosati" deb nomlanadi. Buning ustida ishlash uchun har ikkala sahifada ma'lumotlar almashinuvi to'g'risida kelishilgan bo'lishi va uni boshqaradigan maxsus JavaScript kodi bo'lishi kerak. Biz buni o'quv qo'llanmasida ko'rib chiqamiz.
Ushbu cheklov, yana foydalanuvchi xavfsizligi uchun. http://anysite.comFoydalanuvchi ochgan sahifa URL manzili bilan boshqa brauzer yorlig'iga kira olmasligi http://gmail.comva u erdan ma'lumotlarni o'g'irlashi kerak emas .
JavaScript tarmog'i orqali joriy sahifa kelgan serverga osonlikcha ulanishi mumkin. Ammo uning boshqa saytlardan / domenlardan ma'lumotlarni qabul qilish qobiliyati nogiron. Mumkin bo'lgan taqdirda, bu uzoqdan aniq kelishuvni (HTTP sarlavhalarida ko'rsatilgan) talab qiladi. Yana bir bor bu xavfsizlikni cheklash.
Agar JavaScript brauzerdan tashqarida, masalan serverda ishlatilsa, bunday cheklovlar mavjud emas. Zamonaviy brauzerlar kengaytirilgan ruxsat so'rashi mumkin bo'lgan plagin / kengaytmalarga ham imkon beradi.