Fan: Web dasturlashga kirish Mavzu: js da ma'lumotlarni chop etish Bajardi


Download 36.33 Kb.
Sana31.01.2024
Hajmi36.33 Kb.
#1830412
Bog'liq
Mustaqil ish Jsh


O’zbekiston Respublikasi Toshkent Axborot Texnalogiyalari
Universiteti Urganch filiali


MUSTAQIL ISH

Fakultet: 962-21 GURUHI (SIRTQI)
Fan: Web dasturlashga kirish
Mavzu: JS da ma'lumotlarni chop etish
Bajardi: Jumyozov Shohzodbek .
Tekshirdi:


URGANCH 2023

Turli xil Javascript forumlarida juda ko'p aylanadigan so'rovlar, sahifani to'g'ridan-to'g'ri printerga jo'natishdan oldin, printerni avval ko'rsatadigan aloqa qutisini ko'rsatmaydi .


Aksincha, bunday imkoniyatni amalga oshirishning iloji yo'qligini tushuntirish mumkin emas .
Kimdir brauzerda bosib chiqarish tugmasini bosganida yoki Javascript window.print () uslubida ishlaydigan qanday bosma dialog oynasi operatsion tizimga va kompyuterda qanday ulangan printerlarga bog'liq.
Aksariyat odamlar o'zlarining kompyuterlarida Windows-ni ishlayotgani sababli, birinchi navbatda, ushbu operatsion tizimda kiritish sozlamalari qanday ishlashini tasvirlaylik. * Nix va Mac operatsion tizimlari tafsilotlarda bir oz farq qiladi, ammo umuman shunga o'xshash tarzda o'rnatiladi.
Windows-dagi chop etish dialog oynasida ikki qism mavjud. Ularning birinchisi Windows API (dastur dasturlash interfeysi) qismidir. API - Windows operatsion tizimining bir qismi bo'lgan turli DLL ( Dynamic Link Library ) fayllarida saqlanadigan keng tarqalgan kod bo'laklari to'plamidir. Har qanday Windows dasturi APIni "Bosma muloqot oynasini ko'rsatish" kabi umumiy funktsiyalarni amalga oshirish uchun chaqirishi mumkin (va kerak), shuning uchun u barcha dasturlarda bir xil yo'l bilan ishlaydi va boshqa joylarda turli variantlarga ega emas, chunki DOS Dastur kunlari. Chop etish uchun Dialog API-da, barcha dasturlarni printerdan foydalanishni istagan har bir dastur uchun printer uchun haydovchi dasturiy ta'minotini ishlab chiqaradigan printer ishlab chiqaruvchilari o'rniga bir xil printer drayverlarga kirish imkonini beruvchi umumiy interfeys taqdim etadi.
Print drayveri chop etish oynasining boshqa yarmi. Turli xil tillar mavjud , ular turli printerlar sahifani qanday chop etishini (masalan, PCL5 va Postscript) nazorat qilish uchun foydalanayotganini tushunadilar. Print drayveri operatsion tizim ma'lum printerni tushunadigan maxsus formatlash tiliga tushunadigan standart ichki kiritish formatini qanday qilib tarjima qilish haqida Print API-ga buyruq beradi.
Bundan tashqari, muayyan printer tomonidan taqdim etilgan variantlarni aks ettirish uchun Chop etish uchun muloqot oynasidagi ko'rsatiladigan variantlarni ham o'rnatadi.
Shaxsiy kompyuterda hech qanday ulamolar o'rnatilgan bo'lishi mumkin emas, u bitta mahalliy printerga ega bo'lishi mumkin, u bir nechta printerlarga tarmoq orqali kirish huquqiga ega bo'lishi mumkin, hatto PDF yoki oldindan formatlangan chop etish faylga chop etish uchun ham o'rnatilishi mumkin. Agar bir nechta «printer» aniqlansa , ulardan biri asl printer sifatida belgilanadi, ya'ni u birinchi marta paydo bo'lganda chop etish oynasida uning tafsilotlarini aks ettiruvchi demakdir.
Operatsion tizimi standart printerni kuzatib boradi va ushbu printerni kompyuterdagi turli xil dasturlarga aniqlaydi. Bu dasturlarga bosmadan oldin dialogni ko'rsatmasdan to'g'ridan-to'g'ri asl printerda chop etishni bildiradigan API uchun qo'shimcha parametrni berish imkonini beradi. Ko'p dasturda ikkita turli xil chop etish varaqalari bor: bosib chiqarish dialogini va ko'rsatuv printerga to'g'ridan-to'g'ri yuboradigan asboblar paneli tez bosib chiqarish tugmasini ko'rsatadigan menyu yozuvi.
Internetga tashrif buyuruvchilaringiz bosib chiqaradigan veb-sahifangiz bo'lsa, sizda mavjud printerlar (printerlar) to'g'risida hech qanday ma'lumot yo'q. Dunyo bo'ylab ko'pchilik printerlar A4 qog'ozida chop etish uchun tuzilgan, ammo printerni bu ko'rsatuvga o'rnatilganligini kafolatlamaysiz.
Shimoliy Amerika mamlakati A4dan ko'ra qisqa va kengroq bo'lmagan nostandart qog'ozlardan foydalanadi. Ko'pgina printerlar portret rejimda chop etish uchun o'rnatiladi (bu erda tor yo'nalish kengligi bo'lsa-da, ayrimlari uzunroq o'lcham kenglik bo'lgan landshaftga o'rnatilishi mumkin). Albatta, har bir printerning ustki qismidagi har xil standart chekkalari ham bor , pastki va qirralarning egalari kirmasdan oldin printerni xohlagan uslubda olish uchun barcha sozlamalarni o'zgartirishingiz mumkin.
Ushbu omillarni hisobga olgan holda siz default konfiguratsiyaga ega standart printerni veb-sahifangizni A3 formatida juda kam miqdorda yoki A5-da katta chekkanlar bilan chop etishingiz mumkinligini bilishning hech qanday usuli yo'q. sahifa). Taxminan 16cm x 25cm (ortiqcha minus 80%) sahifasida bosim maydoni bo'lishi ehtimoldan yiroq.
Printerlar sizning potentsial tashrifchilaringiz orasida juda ko'p farq qiladiganligi uchun (kimdir lazer printerlari, inkjet printerlar, rangli yoki faqat qora va oq ranglar, foto sifati, loyiha rejimi va boshqalar haqida yozganmi) sizda chop etish uchun nima qilish kerakligi haqida hech qanday ma'lumot yo'q sahifani oqilona formatda chiqaring. Ehtimol, veb-sahifalar uchun mutlaqo boshqa xil sozlamalar bilan ta'minlovchi printerga alohida printer yoki ikkinchi printerni kiritish mumkin

So'ngra, ular bosmadan chiqarishni istagan narsalar haqida gap boradi. Ular butun sahifani xohlashadimi yoki bosib olmoqchi bo'lgan sahifaning faqat bir qismini tanladilarmi? Agar saytingiz ramkalarni ishlatsa, barcha ramkalarni sahifada paydo bo'lish tarzini chop etishni istaysizmi, ular har bir ramkani alohida-alohida chop etishni xohlayaptimi yoki faqat ma'lum bir ramkani chop qilmoqchimisiz?


Bu savollarning barchasiga javob berish kerakligi, chop etish oynasining bosib chiqarish tugmasini bosishdan oldin sozlamalar to'g'ri kelishiga ishonch hosil qilishlari uchun biron-bir narsani chop etmoqchi bo'lganida ko'rsatiladi. Ko'pgina brauzerlar shuningdek, sahifani asl nusha printeriga chop etishga ruxsat berish uchun brauzer asboblar panellaridan biriga "tez chop etish" tugmasi qo'shishga imkon beradi.
Brauzerlar brauzer va printer parametrlarini Javascript-da qo'llashi mumkin emas. Javascript birinchi navbatda joriy veb-sahifani o'zgartirish bilan bog'liq bo'lib, veb -brauzerlar brauzerning o'zi haqida va Javascript uchun mavjud bo'lgan operatsion tizim haqida hech qanday ma'lumot bo'lmaganida, Javascript Javascript bu narsalarni bajarish uchun kerakli narsalarni bilishi shart emas qilishni maqsad qilgan.
Asosiy xavfsizlik, agar veb-sahifani boshqarish uchun JavaScript-ni o'xshash biror narsa operatsion tizim va brauzer konfiguratsiyasi haqida ma'lumotga ega bo'lmasa, unda u ma'lumot berilmasligi kerak. Javascript kabi chop etish parametrlarini joriy sahifani chop etish uchun tegishli qiymatlarga o'zgartirishlari kerak, chunki bu Javascript nima uchun bo'lmasin - bu bosma dialog oynasi ishidir. Brauzerlar Javascriptga ekranning kattaligi , brauzer oynasida mavjud bo'lgan bo'sh joy , sahifani ko'rsatish uchun kerak bo'lgan narsalar va Javascriptning sahifaning qanday tayyorlanishiga yordam beradigan o'xshash narsalar kabi Javascriptga foydalanishni taklif qilishadi. Mavjud veb-sahifa Javxscriptlardan biridir va u faqat tashvishlidir.
Intranetlar, albatta, butunlay boshqacha masala. Intranet bilan siz sahifaga kirgan har bir kishining muayyan brauzer (odatda Internet Explorer ning so'nggi versiyasi) dan foydalanishini bilasiz va aniq ekran o'lchamlari va muayyan printerlarga ruxsat bor. Bu, intranetda chop etish oynasini ko'rsatmasdan to'g'ridan-to'g'ri chop etish imkoniyatiga ega bo'lishi kerakligini anglatadi, chunki veb-sahifani yozgan shaxs qaysi printerni bosib chiqarilishini biladi.

Javascript (JScript) deb nomlangan Internet Explorer o'rnini egallagan brauzer va Javascriptning o'ziga tegishli operatsion tizimi haqida bir oz ko'proq ma'lumotlar bor. Intranet bilan ishlaydigan tarmoqdagi shaxsiy kompyuterlar JScript window.print () buyrug'ini chop etish oynasini ko'rsatmasdan to'g'ridan-to'g'ri printerga yozishga ruxsat berish uchun tuzilishi mumkin.
Internetdagi veb-sahifalarga kelganda, to'g'ridan-to'g'ri standart printerga yuborish uchun Javascript buyrug'ini o'rnatishingiz mumkin emas. Agar mehmonlar buni xohlasalar, brauzer asboblar panelida o'zlarining "tezkor chop etish" tugmachalarini o'rnatishlari kerak bo'ladi.

JAVASCRIPT. MA'LUMOTLAR TURLARI VA OPERATORLARI. JAVASCRIPT MA'LUMOTLAR TURLARI O'ZGARUVCHILAR TURINI O'RNATADI


O'zgaruvchi - bu nomli xotira bo'lagi bo'lib, unda siz ba'zi ma'lumotlarni saqlashingiz va undan olishingiz mumkin.
O'zgaruvchilar var kalit so'zi yordamida e'lon qilinadi (yaratiladi).
// xabar - o'zgaruvchining nomi var message;
O'zgaruvchini yaratganingizda, darhol unga qiymat belgilashingiz mumkin.
O'zgaruvchiga qiymat "=" operatori yordamida beriladi.
// masalan, o'zgarmaydigan elektron pochta yarating va qatorni tayinlang " no-reply@astr.org"var email =" no-reply@astr.org"; // elektron pochta o'zgaruvchisini yangi qiymatga o'rnating email = " support@astr.org";
O'zgaruvchining qiymatini olish uchun siz unga faqat nom bilan murojaat qilishingiz kerak.
// masalan, elektron pochta o'zgaruvchisining qiymatini brauzer konsoliga chop eting: console.log (elektron pochta);
Bitta var kalit so'zi bilan bir nechta o'zgaruvchilarni e'lon qilish uchun vergul qo'yish kerak.
Var narxi = 78,55, miqdori = 10, xabar;
JavaScript dinamik yoki zaif terilgan tildir. Bu shuni anglatadiki, o'zgaruvchini e'lon qilishda u qabul qilishi mumkin bo'lgan ma'lumotlar turini ko'rsatish shart emas. Shuning uchun, o'zgaruvchiga birinchi navbatda bitta ma'lumot turiga ega bo'lgan qiymatni, keyin esa boshqasini qo'yishingiz mumkin.
Var chiqishi = "muvaffaqiyat"; // o'zgaruvchida qator ma'lumotlar turi bor chiqdi = 28; // bir xil o'zgaruvchi, lekin allaqachon "raqam" ma'lumotlar turiga ega chiqdi = true; // bir xil o'zgaruvchi, lekin allaqachon mantiqiy qiymatni saqlaydi
O'zgaruvchining qiymati cheksiz ko'p marta o'zgartirilishi mumkin.
// yaratilgan o'zgaruvchan yosh var age; // o'zgaruvchan yoshga 67 yosh = 67 qiymati beriladi; // o'zgaruvchan yosh "Pensiya yoshi" ga o'rnatiladi age = "Pensiya yoshi"; // o'zgaruvchan yosh 55 yoshga o'rnatiladi = 55;
Mijoz tomonini ishlab chiqishda ma'lum bir o'zgaruvchida faqat bitta ma'lumot turidan foydalanish yaxshi amaliyotdir, ya'ni. o'zgaruvchiga har xil turdagi ma'lumotlarning qiymatlarini yozmang. O'zgaruvchida qanday turdagi ma'lumotlarni kutish kerakligini tushunish uchun o'zgaruvchini yaratishda uni ma'lum bir qiymat bilan ishga tushirish tavsiya etiladi.
O'zgaruvchining nomi harflar, raqamlar va $ va _ belgilaridan iborat bo'lishi mumkin. Bunday holda, o'zgaruvchining birinchi belgisi raqam bo'lmasligi kerak. Bundan tashqari, ajratilgan so'zlarni o'zgaruvchi nomi sifatida ishlatib bo'lmaydi.
// ikkita o'zgaruvchi yarating, birinchi o'zgaruvchi telefon deb nomlanadi, ikkinchisi o'lchov; telefon, xabar;
O'zgaruvchan nomdagi harflarning holati muhim ahamiyatga ega. Ya'ni, masalan, o'zgaruvchan telefon va Telefon ikki xil o'zgaruvchidir.
Agar qat'iy rejim ishlatilmasa, siz var kalit so'zisiz asl qiymatga ega o'zgaruvchi yaratishingiz mumkin.
Narxi = 250,00; // o'zgaruvchi yarating va uni 250,00 foiz bilan ishga tushiring = "20%"; // o'zgaruvchi yarating va uni "20%" qatori bilan ishga tushiring
Lekin o'zgaruvchilarni bu tarzda yaratish tavsiya etilmaydi.

Ma'lumotlar turlari



JavaScript-da ma'lumotlar turlarini ibtidoiy va ob'ekt turlariga bo'lish mumkin.
Primitiv ma'lumotlar turlarini o'z ichiga olgan o'zgaruvchilar qiymatni aniq saqlaydi.
JavaScript-da 5 ta ibtidoiy ma'lumotlar turlari ajralib turadi:
raqam (raqam);
qator (tor);
mantiqiy turi (boolean);
null;
aniqlanmagan.
Agar bitta o'zgaruvchiga ibtidoiy ma'lumotlar turini o'z ichiga olgan boshqasiga qiymat berilgan bo'lsa, u holda u ushbu qiymatning o'z nusxasini oladi.
Var x = 77, y = x; x = 55; y; // 77
Ob'ektni o'z ichiga olgan o'zgaruvchilar aslida ob'ektning o'zini emas, balki unga havolani saqlaydi.
Ob'ektni o'z ichiga olgan boshqa bir o'zgaruvchiga qiymat belgilasangiz (unga havola), u ham unga havolani oladi. Ushbu operatsiya natijasida bu ikki o'zgaruvchi bir xil ob'ektga havolani o'z ichiga oladi.
// 1-misol ("ob'ekt" ma'lumotlar turi bilan) var koord1 = (x: 77, y: 100), koord2 = koord1; koordinat1.x = 55; // ob'ektning x xossasini yangi qiymatga o'rnatish coord2.x; // 55, chunki coord1 va coord2 bir xil ob'ektga havolani o'z ichiga oladi // 2-misol (ma'lumotlar turi "massiv" bilan) var coord1 =, koord2 = koord1; kord1 = 55; // 0 indeksli elementni yangi qiymatga o'rnating coord2; // 55, chunki coord1 va coord2 bir xil ob'ektga havolani o'z ichiga oladi // 3-misol (ma'lumotlar turi "sana" bilan) var date1 = new Date (2018,00,01), date2 = date1; date2 = date2.setDate (date2.getDate () + 7); // sanani 7 kunga oshirish sana1; // 01/07/2018, chunki sana1 va sana2 bir xil ob'ektga havolani o'z ichiga oladi
Raqam
JavaScript ma'lumotlaridagi son turi umumiydir. U butun va kasr sonlarni ifodalash uchun ishlatiladi.
Var int = 5; // integer var float = 5,98; // kasr son
JavaScript-da raqamlarni ifodalash formati IEEE 754-2008 standartiga muvofiq amalga oshiriladi.
JavaScript-da butun sonlar nafaqat o'nlik kasr tizimida, balki sakkizta (0) yoki o'n oltilik sanoq tizimi (0x) Qavslar ichida berilgan prefikslar yordamida:
Var int = 010; // 8 int = 055; // 45 int = 0xFF; // 255 int = 0xB8; // 184
Raqamlarni yozish mumkin eksponentsial :
Var soni = 2e3; // 2 * 10 ^ 3 sonining eksponensial belgisi (2000) num = 2e-3; // 2 sonining eksponensial belgisi * 10 ^ -3 (0,002) num = 3,2e3; // 3200 num = 1,5e-2; // 0,015
Raqamli ma'lumotlar turi raqamlardan tashqari o'z ichiga oladi maxsus raqamli qiymatlar :
Cheksizlik (ijobiy cheksizlik);
-Infinity (salbiy cheksizlik);
NaN (Raqam emas).
Maxsus qiymat Infinity juda katta ijobiy raqamni bildiradi, ya'ni. JavaScript-da ifodalab bo'lmaydigan raqam, chunki u juda katta.
Maxsus qiymatlar -Infinity, aksincha, juda katta manfiy sonni anglatadi, ya'ni. JavaScript bilan ifodalab bo'lmaydigan raqam, chunki u ham juda katta.
Hisoblash natijasida bo'ladigan ifodalarga misol maxsus raqamli qiymatlar qaytarildi :
5/0; // Infinity -5/0; // -Infinity Math.pow (10,399); // Infinity (10 dan 399 gacha) Math.pow (10.399); // -Infinity (-10 dan 399 gacha)
NaN qiymati JavaScript hisoblay olmaydigan matematik amallarni bajarish natijasida qaytariladi.
5 - "Salom"; // NaN (5-raqamdan chiziqni olib tashlang) 1000 / "20px"; // NaN (satrga bo'lingan raqam) true * "1rem"; // NaN (mantiqiy haqiqiy satrga ko'paytirish)
Aytgancha, juda qiziq narsa shundaki, JavaScript-dagi NaN qiymati hech narsaga, shu jumladan
o'ziga teng emas.
NaN == NaN; // noto'g'ri NaN === NaN; // yolg'on
Mantiqiy ma'lumotlar turi
Mantiqiy - bu faqat ikkita qiymatga ega bo'lgan ibtidoiy ma'lumotlar turi: rost va noto'g'ri.
Var a = rost; var b = noto'g'ri;
String
String - bu JavaScript matnni ifodalash uchun foydalanadigan ma'lumotlar turi.
JavaScript satri 0 yoki bo'lishi mumkin Ko'proq belgilar.
JavaScript har doim string formati sifatida Unicode kodlashdan foydalanadi.
Satrni yaratish (string literal) tomonidan amalga oshiriladi matnni yakka yoki qo'sh tirnoq .
"JavaScript"; "ECMAScript";
JavaScript-da bitta va ikkita tirnoq o'rtasida farq yo'q.
Ammo, ba'zi hollarda, qo'sh tirnoq emas, balki faqat bitta tirnoqdan foydalanish mantiqan to'g'ri keladi va aksincha.
Misol uchun, satrda qo'sh tirnoq bo'lsa, uni bitta tirnoq ichiga olish qulayroqdir. Bu undagi qo'sh tirnoqlardan qochish zaruratini yo'q qiladi.
"" ECMAScript ""; // qochish yo'q (bitta tirnoq yordamida) "\" ECMAScript \ ""; // qochish bilan
JavaScript qatori maxsus belgilarni o'z ichiga olishi mumkin. Masalan, \ n (satr uzatish), \ t (tab), \ r (karetaning qaytishi) va boshqalar.
"Bu taklif. \ NA Bu ham taklif, lekin u yangi qatordan boshlanadi.";
Satrlar yordamida siz qo'shish (birlashma) amalini yoki boshqacha aytganda, birlashtirishni bajarishingiz mumkin. Buning uchun "+" operatori ishlatiladi. Ushbu operatsiyaning g'oyasi ikkinchi qatorni birinchisining oxiriga qo'shishdir.
"Men sevaman" + "JavaScript"; // Men JavaScript-ni yaxshi ko'raman
Qiymat "aniqlanmagan"
undefined - bu aniqlanmaganga teng bitta qiymatga ega bo'lgan maxsus ibtidoiy ma'lumotlar turi.
Ushbu ma'lumotlar turi e'lon qilingan o'zgaruvchiga ega bo'lib, unga hali qiymat berilmagan.
Var raqami; // aniqlanmagan
Mavjud bo'lmagan ob'ekt xususiyatiga kirishda aniqlanmagan qiymat ham qaytariladi.
Var obj = (); // bo'sh ob'ekt obj.prop; // aniqlanmagan
"null" qiymati
null - null ga teng bitta qiymatga ega bo'lgan maxsus ibtidoiy ma'lumotlar turi.
null faqat "hech narsa" yoki "noma'lum qiymat" ma'nosiga ega bo'lgan maxsus qiymatdir, ya'ni. bu hech narsani anglatmaydi.
Bir nechta ma'lumotlar turlari bilan ishlash
Siz yaratgan har bir dastur bir necha turdagi ma'lumotlarni o'z ichiga olishi mumkin, ammo operatsiyalar odatda bitta turdagi ma'lumotlarda amalga oshiriladi. raqamlarga matematika, satrlarga esa kesish qo'llaniladi.
Barcha ma'lumotlar turlarida ishlaydigan operatorlardan foydalanish (masalan, + operatori raqamlar qo'shishi yoki qatorlarni birlashtirishni amalga oshirishi mumkin), siz kutilmagan natijalarga erishishingiz mumkin.
Agar siz birlashtirish uchun o'zgaruvchi yaratsangiz, JavaScript har bir elementni satr sifatida izohlaydi.
var o = "Okean" + 5 + 3;
O o'zgaruvchini chaqirish orqali siz quyidagi natijaga erishasiz:
Biroq, agar satr avval raqamlar bilan, keyin esa satr bilan kelsa, + operatori qo'shish va keyin birlashtirishni amalga oshiradi:
var p = 5 + 3 + "Okean";
8Okean
Natijalarning oldindan aytib bo'lmaydiganligi sababli, bir xil turdagi ma'lumotlarda operatsiyalar va usullarni bajarish qulayroqdir. Biroq, JavaScript, ba'zi boshqa dasturlash tillarida bo'lgani kabi, ma'lumotlar turlarini aralashtirishda xatolarni qaytarmaydi.



~ ~



Download 36.33 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling