JavaScript-ni o'zgartirish turini qanday to'g'ri tekshirish mumkin.

Kontaktlar / Corisna haqida ma'lumot

Kontaktlar

topshirish

2 Ajoyib o'quvchi Dasturlash tillarining barchasida o'rnatilgan ma'lumotlar tuzilmalari mavjud, ammo ular ko'pincha bir tildan boshqasiga farq qiladi. Ushbu maqola JavaScript-da mavjud bo'lgan o'rnatilgan ma'lumotlar tuzilmalari va ular qanday xususiyatlarga ega ekanligini ro'yxatga olishga harakat qiladi; Ular boshqa ma'lumotlar tuzilmalarini yaratish uchun ishlatilishi mumkin. Ehtimol, boshqa tillar bilan taqqoslash noto'g'ri.

Dinamik yozish

JavaScript - bu a

erkin yozilgan

  • yoki a

dinamik

til.

JavaScript-dagi o'zgaruvchilar hech qanday turdagi turga bevosita bog'liq emas va har qanday variant barcha turdagi qiymatlarga ega bo'lishi mumkin (va qayta tayinlangan):

foo = 42 bo'lsin;

// foo endi raqam foo = "bar";

// foo endi foo stringi = true;

// foo endi mantiqiy hisoblanadi

Ma'lumotlar turlari

Qolgan ECMAScript standarti sakkizta ma'lumot turini belgilaydi:

Etti turdagi ma'lumotlar:

Primitiv qiymatlar
Ob'ektlardan tashqari barcha turlar o'zgarmas qiymatlarni belgilaydi (o'zgartirish mumkin bo'lmagan qiymatlar). Butt uchun va C dan farqli o'laroq, Stringlar o'zgarmasdir. Ushbu turdagi qiymatlar "ibtidoiy qiymatlar" sifatida tavsiflanadi. Boolean turi
[] Mantiqiy mantiqiy ob'ektni ifodalaydi va ikkita qiymatga ega bo'lishi mumkin: haqiqiy va noto'g'ri. Batafsil ma'lumot uchun Boolean va Boolean-ni bosing. Null turi
[] Xususiyatlari JavaScript-da ob'ektlar xususiyatlar to'plami bo'lishi mumkin. 3 ta ob'ekt literal sintaksisi, cheklangan xususiyatlar to'plami ishga tushirilgan;
[] Xususiyatlari keyin xususiyatlarni qo'shish va olib tashlash mumkin. 3 ta ob'ekt literal sintaksisi, cheklangan xususiyatlar to'plami ishga tushirilgan;
[] Xususiyatlari Vakolatlar har qanday turdagi, shu jumladan boshqa sub'ektlar uchun ham muhim bo'lishi mumkin, bu murakkab ma'lumotlar tuzilmalarining ishonchli integratsiyasiga olib kelishi mumkin. 3 ta ob'ekt literal sintaksisi, cheklangan xususiyatlar to'plami ishga tushirilgan;
Xususiyatlar asosiy qiymatlar yordamida aniqlanadi.
Ob'ektlardan tashqari barcha turlar o'zgarmas qiymatlarni belgilaydi (o'zgartirish mumkin bo'lmagan qiymatlar). Butt uchun va C dan farqli o'laroq, Stringlar o'zgarmasdir. Ushbu turdagi qiymatlar "ibtidoiy qiymatlar" sifatida tavsiflanadi.
Kalit qiymat String yoki Symbol qiymatidir. Xususiyatlari Belgilarni ifodalovchi obyekt xossalarining ikki turi mavjud: ma’lumotlar xossasi va yordamchi xususiyat.
DontEnum Xususiyatlari Belgilarni ifodalovchi obyekt xossalarining ikki turi mavjud: ma’lumotlar xossasi va yordamchi xususiyat.
O'chirmang Xususiyatlari Belgilarni ifodalovchi obyekt xossalarining ikki turi mavjud: ma’lumotlar xossasi va yordamchi xususiyat.

Aksessuar mulki

Qiymatni olish yoki saqlash uchun kalitni bitta yoki ikkita yordamchi funksiyalar (olish va sozlash) bilan bog‘laydi va quyidagi atributlarga ega:

Aksessuar xususiyatining atributlari
Ob'ektlardan tashqari barcha turlar o'zgarmas qiymatlarni belgilaydi (o'zgartirish mumkin bo'lmagan qiymatlar). Butt uchun va C dan farqli o'laroq, Stringlar o'zgarmasdir. Ushbu turdagi qiymatlar "ibtidoiy qiymatlar" sifatida tavsiflanadi. Boolean turi
[] Funktsiya ob'ekti yoki aniqlanmagan Ushbu funktsiya bo'sh argumentlar ro'yxati deb ataladi va belgilangan qiymatga kirishni rad etish orqali quvvatni yangilaydi. Null turi
[] Funktsiya ob'ekti yoki aniqlanmagan Shuningdek qarang. Null turi
[] Xususiyatlari Funktsiya, agar ma'lum bir xususiyat to'g'ridan-to'g'ri o'zgartirilsa, qiymat o'rnatilgan degan fikr bilan chaqiriladi. 3 ta ob'ekt literal sintaksisi, cheklangan xususiyatlar to'plami ishga tushirilgan;
[] Xususiyatlari Shuningdek qarang. 3 ta ob'ekt literal sintaksisi, cheklangan xususiyatlar to'plami ishga tushirilgan;

Agar true bo'lsa, xususiyat for...in davrlarida sanab o'tiladi. Agar false boʻlsa, xususiyatni oʻchirib boʻlmaydi va uni maʼlumotlar xususiyatiga oʻzgartirib boʻlmaydi.

Eslatma:

Atribut odatda JavaScript dvigateli tomonidan ishlatiladi, shuning uchun siz unga to'g'ridan-to'g'ri kira olmaysiz (Object.defineProperty() haqida ko'proq qarang).

"Oddiy" ob'ektlar va funktsiyalar

JavaScript ob'ekti kalitlar va qiymatlar o'rtasidagi xaritalashdir.

Kalitlar ê satrlari (yoki Symbol s) va qiymatlar ular qanday bo'lishidan qat'iy nazar bo'lishi mumkin.

Bu hashamplar uchun tabiiy moslashish imkonini beradi.

Funktsiyalar qo'shimcha tarkibga ega bo'lgan oddiy ob'ektlarni o'z ichiga oladi.

Sanalar

Ma'lumotlar taqdim etilganda, JavaScript-ni yangilash uchun JavaScript-ning eng qisqa tanlovi qo'llaniladi.

Butt uchun va C dan farqli o'laroq, Stringlar o'zgarmasdir. Indekslangan to'plamlar: massivlar va terilgan massivlar Massivlar oddiy ob'ektlar bo'lib, ular uchun butun sonli kalitli xususiyatlar va "uzunlik" xususiyatlari o'rtasida maxsus bog'lanish mavjud. Ushbu turdagi qiymatlar "ibtidoiy qiymatlar" sifatida tavsiflanadi. Dodatkovo, massivlar Array.prototype dan meros qilib olinadi - bu boshqariladigan massivlarni yaratishning eng yaxshi usullarini qanday topishdir. Masalan, indexOf (massivdagi qiymatni qidirish) yoki push (massivga element qo'shish) va boshqalar.
Massivlarni varaqlar yoki to'plamlar uchun yaxshi nomzod sifatida sinab ko'ring. Yozilgan massivlar ECMAScript 2015 yildan beri JavaScript uchun yangi va asosiy ikkilik maʼlumotlar buferining massivga oʻxshash yangi koʻrinishi. 1 Mavjud jadval qurilmalari C ma'lumotlar turlariga ekvivalentdir: TypedArray obyektlari Qiymat diapazoni
Baytlarda o'lcham Web IDL turi 1 Ekvivalent C turi Int8Array -128 dan 127 gacha
8 bitli ikkita to'ldiruvchi belgili butun son Web IDL turi 1 bayt Int8Array -128 dan 127 gacha
int8_t Uint8Array 2 0 dan 255 gacha 8 bitli belgisiz butun son oktet
uint8_t Uint8ClampedArray 2 8-bitli belgisiz butun son (qisqichli) Int16Array -32768 dan 32767 gacha
16 bitli ikkita to'ldiruvchi imzoli butun son qisqa 4 int16_t Uint16Array 0 dan 65535 gacha
16 bitli belgisiz butun son imzosiz qisqa 4 uint16_t Int32Array -2147483648 dan 2147483647 gacha
32-bitli ikkita to'ldiruvchi belgili butun son uzoq 4 int32_t Uint32Array 0 dan 4294967295 gacha
32-bitli belgisiz butun son 5,0x10 -324 dan 1,8x10 308 gacha 8 64-bitli IEEE suzuvchi nuqta raqami (16 ta muhim raqam, masalan, 1.123...15) cheklanmagan juftlik ikki barobar
BigInt64Array -2 63 dan 2 63 -1 gacha 8 64 bitli ikkita to'ldiruvchi imzoli butun son bigint int64_t (uzoq imzolangan)
BigUint64Array 0 dan 2 gacha 64 -1 8 64 bitli belgisiz butun son bigint uint64_t (imzosiz uzoq)

Kalit to'plamlari: Xaritalar, to'plamlar, zaif xaritalar, zaif to'plamlar

Ushbu ma'lumotlar tuzilmalari kalitlar bilan bir xil bo'lib, ECMAScript Edition 6 da kiritilgan. Set va WeakSet ob'ektlar to'plamidir, Map va WeakMap esa ob'ektga qiymatni bog'laydi.

Xaritalar va WeakMaps o'rtasidagi farq shundaki, oldingi ob'ekt tugmachalarini sanab o'tish mumkin.

Bu qisqa vaqt ichida axlat yig'ishni optimallashtirish imkonini beradi.

Xaritalar va to'plamlarni sof ECMAScript 5 da amalga oshirish mumkin. Biroq, ob'ektlarni taqqoslab bo'lmagani uchun (chuqur oxirida "holat uchun emas"), qidirish unumdorligi chiziqli bo'lishi kerak.

Ularning mahalliy ilovalari (jumladan, WeakMaps) logotipni yangilash imkonini beruvchi qidiruv samaradorligini ta'minlaydi.

Ma'lumotlarni DOM tuguniga bog'lashni ko'rib chiqing, xususiyatlarni to'g'ridan-to'g'ri ob'ektga joylashtirish yoki ma'lumotlar-* atributlarini o'zgartirish mumkin.

Ma'lumotlar bir xil kontekstda ishlaydigan har qanday skript uchun mavjud bo'lishi muhimdir.

Xaritalar va zaif xaritalar ob'ektga ma'lumotlarni shaxsiy bog'lashni osonlashtiradi.

Strukturaviy ma'lumotlar: JSON

JSON (JavaScript Object Notation) - bu JavaScript-dan olingan va turli xil dasturlar tomonidan qo'llab-quvvatlanadigan engil ma'lumotlar almashinuvi formati.

JSON universal ma'lumotlar strukturasidir. Batafsil ma'lumot olish uchun JSON va JSON ni kiriting. Standart kutubxonada ko'proq ob'ektlar
JavaScript o'rnatilgan ob'ektlarning standart kutubxonasidir. Iltimos, ko'proq ob'ektlarni bilish uchun havolani ko'rib chiqing. Belgilangan turlar, vikorist va operator turlari
Typeof operatori o'zgaruvchingiz turiga kirishga yordam beradi.
Iltimos, batafsil ma'lumot va chekka holatlarni o'qing.
Iltimos, ko'proq ob'ektlarni bilish uchun havolani ko'rib chiqing.
Texnik xususiyatlari
Iltimos, ko'proq ob'ektlarni bilish uchun havolani ko'rib chiqing. Spetsifikatsiya
Status
Izoh
ECMAScript 1-nashr (ECMA-262)

Standart

Dastlabki ta'rif.

ECMAScript 5.1 (ECMA-262) Ushbu spetsifikatsiyadagi "Turlar" ta'rifi. ECMAScript 2015 (6-nashr, ECMA-262) Qo'shilgan belgi.

ECMAScript oxirgi loyihasi (ECMA-262)
"ECMAScript ma'lumotlar turlari va qiymatlari" ning ma'nosi muhim.
Qoralama
var x = (firstName:"Jon", familiya:"Doe");

// Ob'ekt

Ma'lumotlar tushunchalarining turlari

Ma'lumotlarning dasturlashtirilgan turi muhim tushunchalarga ega.

Onalar bu o'zgarishlar bilan shug'ullanishi uchun, turi haqida bilish muhimdir.

Ushbu turdagi ma'lumotlarsiz kompyuter ushbu muammoni xavfsiz hal qila olmaydi:

Var x = 16 + "Volvo";

Volvoni o'n oltiga aylantirishning nima keragi bor?

Natijalarni olish uchun qancha vaqt kerak bo'ladi?

JavaScript ko'proq shunday ko'rinadi:

Var x = "16" + "Volvo";

Agar qatorga raqam qo'shsangiz, JavaScript raqamga qator sifatida qaraydi.

JavaScript o'ngdagi ifodalarni baholaydi.

Turli xil ketma-ketliklar turli xil natijalarga olib kelishi mumkin:

Birinchi holda, JavaScript "Volvo" ga yetguncha raqamlar sifatida 16 va 4 ni to'playdi. Boshqa holatda, birinchi operand ketma-ket joylashganligi sababli, barcha operandlar qatorlar sifatida joylashtirilgan. JavaScript dinamik turlarga ega

JavaScript mumkin

dinamik turlari
.
Bu shuni anglatadiki, bir xil o'zgarishlar turli turlarga bo'linishi mumkin:

dumba

var x;

// Endi x aniqlanmagan var x = 5;:

JavaScript mumkin

// Endi x - bu raqam
var x = "Jon";

// Endi x - bu String

JavaScript mumkin

JavaScript qatorlari
Qator (yoki matn qatori) "Jon Doe" kabi belgilar qatoridir.
Qatorlar panjalarda yozilgan.

Siz bitta yoki foydalanishingiz mumkin

ikki oyoqli

var carName = "Volvo XC60";

// Ikki tirnoq yordamida

var carName = "Volvo XC60";

JavaScript mumkin

// Yagona tirnoqlardan foydalanish
Hid qatordagi panjalardan qochib ketmasligi uchun siz panjalarni qatorning o'rtasida artishingiz mumkin:

var answer = "Yaxshi"; // Ikki tirnoq ichida bitta tirnoq

var answer = "Uni "Jonni" deb atashadi";

// Ikki tirnoq ichida bitta tirnoq

var answer = "Uni "Jonni" deb atashadi";

JavaScript mumkin

// Bitta tirnoq ichida qo'sh tirnoq
O'zingiz sinab ko'ring

Jarayonlar haqida keyinroq ushbu qo'llanmada bilib olasiz.

JavaScript raqamlari

JavaScript-da faqat bitta turdagi raqamlar mavjud.

Raqamlar o'nlik belgisisiz ham yozilishi mumkin:

var x1 = 34.00;

// O'nli kasrlar bilan yozilgan

Massiv indekslari noldan boshlanadi, ya'ni birinchi element , ikkinchi element va hokazo.

Massivlar haqida ko'proq ma'lumotni keyinroq yordamchingizdan bilib olasiz.

JavaScript obyektlari

JavaScript obyektlari kamon shakliga yoziladi.

Ob'ektning vakolatlari nomlar sifatida qayd etiladi: koma bilan ajratilgan juft qiymatlar.

Ob'ekt (shaxs) 4 ta vakolatga ega: ism, familiya, yosh va ko'z rangi.

Ushbu qo'llanmada keyinroq ob'ektlar haqida ko'proq bilib olasiz.

TypeOf operatori

Siz vikorystuvati mumkin JavaScript kodi turiof JavaScript-ni o'zgartirish turini bilish uchun operator:

JavaScript mumkin

typeof "Jon" // Satrni qaytaradi
typeof 3.14 // Raqamni qaytaradi
typeof false // Booleanni qaytaradi
typeof // Ob'ektni qaytaradi
typeof (ism: "Jon", yosh: 34) // Ob'ektni qaytaradi

O'zgaruvchilar nomlarini yaratish uchun JavaScript sintaksis qoidalarini o'rnatdi:

  • O'zgaruvchilar nomlari uchun quyidagi belgilar qo'llaniladi: a-z, A-Z, raqamlar, $ belgisi, stul belgisi (_).
  • Ism raqam bilan boshlanmaydi.
  • JavaScript katta-kichik harflarga sezgir va dasturlashda xotira talab qilinadi. itcounter va u C
  • unter - juda ko'p o'zgarishlar.

JavaScript dovzhina nomini o'zgartira olmaydi.

  • Ismlarning to'g'ri nomlarini qo'shing:
  • hisoblagich
  • $_itcounter

it_counter

  • Taniqli shaxslarning ismlari kechirim:
  • 9 xonali
  • hisoblagich
  • #hisoblagich

&itcounter

Iltimos, var buyrug'iga ovoz bering.

Siz qatorlar va raqamlarni muqobillardan saqlashingiz mumkin.

Aslida, siz boshqa turdagi ma'lumotlarni saqlashingiz mumkin, ammo ular haqida keyinroq gaplashamiz.

Oddiy o'zgarishlar

Ketma-ket yozish uchun siz ularni ikki yoki bitta panjaga joylashtirishingiz kerak.

Var $stroka_1 = "Salom!";

var $stroka_2 = "Ehtiyot bo'ling!";


Yagona oyoq bilan yaratilgan qatorlar uchun siz oyoq ostidagi oyoq va orqa tomonni burishingiz mumkin.

Var $stroka_1 = ""Salom!" - bu salom.";

Var $stroka_1 = "Salom!";
var $stroka_2 = ""Ehtiyot bo'ling!" - bu haqda tashvishlanmang.";
Yagona oyoq bilan yaratilgan qatorlar uchun siz oyoq ostidagi oyoq va orqa tomonni burishingiz mumkin.

document.write($stroka_1);

document.write("

Xuddi shu turdagi oyoqni ko'rsatish uchun siz teskari chiziq belgisi bilan qochishingiz kerak.

Bu oddiy: + .

"); document.write($stroka_2);
O'zgarishlarning qiymatlari boshqa o'zgarishlarga tayinlanishi mumkin:

Var $stroka_1 = ""Salom!" - bu salom.";
var $stroka_2 = ""Ehtiyot bo'ling!" - bu haqda tashvishlanmang.";

document.write($stroka_1 + " + + $stroke_2);

Birlashtirish operatori
Shuningdek, siz vikorize qilishingiz mumkin:

Var $stroka_1 = ""Salom!" - bu salom.";

var $stroka_2 = ""Ehtiyot bo'ling!" - bu haqda tashvishlanmang.";

var $stroka_3 = $stroka_1 + "

+ $stroke_2; document.write($stroka_3);

Raqamli o'zgarishlar

Raqamli o'zgarishlarni amalga oshirish uchun siz unga faqat raqamli qiymat qo'shishingiz kerak.

Var $count_1 = 23;

var $count_2 = 10.34;

document.write($count_1 - $count_2);

  • Endi yana bir dumba:
  • Var $count_1 = 23;
// O'zgarishlar soni.

var $stroka_1 = "57";

// Ryadkova zminna.

document.write($stroka_1 + $count_1);

Bachit, $stroka_1 o'zgarishining ma'nosi panjalarga olinadi, matn o'zgartiriladi.

Keyin biz "5723" matnini, sonli va ayiriladigan qatorni qo'shamiz, ya'ni JavaScript bunday hollarda shunday ishlaydi - u raqamni qatorga aylantiradi va uni kiritilgan qatorga qo'shadi.

Mantiqiy o'zgarishlar Ushbu turdagi o'zgarishlar mantiqiy hisoblanadi. Bu oddiy, faqat ikkita ma'no bor: haqiqat va bema'nilik va haqiqat (haqiqat) va yolg'on (bema'nilik).

Ushbu turdagi ma'lumotlar hizalama operatsiyalarida qo'llaniladi.

Mantiqiy o'zgarishlar Faqat o'qdan foydalaning: 9 > 1 - bu haqiqat. 2 > 5 - bu bema'nilik.:

  • var $count = 2
  • Endi arifmetik amallar uchun mantiqiy qiymatlarni almashtirishga harakat qilaylik.
  • Ikki tekislash operatsiyalari mavjud:
  • Var $count = (3>2) + (4>2);
  • document.write($count);

Bu ajoyib rekord, bilaman.

Ale o'zgarishi $count dorivnyuvatime 2. Matematik kontekstda qiymat rost = 1, qiymat esa noto'g'ri = 0.

JavaScript-da siz qo'shimcha turdagi ko'rsatmalar yordamida o'zgarishlar turini tanib olishingiz mumkin.

Var $count;
document.write(typeof $count + "
"); var $count = true; document.write(typeof $count + "
"); var $count = "true"; document.write(typeof $count + "
"); var $count = 100; document.write(typeof $count + "
");

"); var $count = null; document.write(typeof $count + "

  • Ko'rsatma turining sintaksisi quyidagicha bo'lishi mumkin:
  • $count turi

typeof($count)

Endi, misolning qolgan qismidagi kodni ishga tushiring va natijaga hayron bo'ling.

Null o'zgartirish turi ob'ekt bo'ladi.

Bu filmdagi o'zgarish va bu filmning yangi versiyalari bilan allaqachon yozilgan JavaScript skriptlari narxini tejash zarurati tufayli hech qachon tuzatilishi aniq emas. Ob'ekt turi endi ibtidoiy tip emas, biz bu haqda boshqa darslarda gapiramiz.

  • Hidlar ishlab chiqarilgan va ishlatilganlarga bo'linadi (dasturchi tomonidan belgilanadi).
  • Harflar

- Dani, nega dasturda g'olib bo'lishni xohlaysiz?

Literallar har xil turdagi bo'lishi mumkin.

Raqamli harflar: 10 2.310 2.3e+2

Ryadkoviy so'zma-so'z: "Ryadkovy" "Ryadkovy"

Topshiriq operatsiyalarida harflar qo'llaniladi:

Belgilangan o'ngdan chapga ko'rsatiladi:

Matn yorliqlari "/" belgisi bilan ekranlanadi. Zminni;

O'zgarishlarning karligi var orqali hosil bo'ladi, uni koma orqali ko'rsatish mumkin, ularga qiymatlar berish.

O'zgarish turi uning qiymatlari bilan ko'rsatiladi.

JavaScript dasturning turli qismlarida yuqori darajada terilgan va bir xil narsa har xil turdagi ma'noni o'zgartirishi mumkin.

O'zgartirishga tur belgilash uchun operator ishlatiladi

typeof()

Ko'rish joylari

Global miqyosda ishlash uchun var poza funksiyasi bilan hayratda qoldi.

Mahalliy o'zgarishlarni o'g'irlash uchun funktsiyaning o'rtasida ajoyib var.

Mahalliy va global o'zgarishlarning ziddiyatlari

7 ko'rinadi, chunki global o'zgarish ko'rsatilgan blokda paydo bo'ladi.

E'tibor bering, agar siz hayratda qolsangiz, var yozishingiz shart emas.

Funktsiyada var ning mavjudligi konstruktorni o'zgartirishni talab qiladi.

An'anaviy bo'lmagan harakatga ega nostandart dumba

f(3) tugmachasini bosgandan so'ng k o'zgaruvchining qiymatini o'zgartirish orqali 5 ko'rsatiladi.

Masivi

Massivlar to'plamlar va to'plamlar deb ataladigan to'plamlarga bo'linadi.

Array konstruktori ishlab chiquvchining maqsadi uchun ishlatiladi.

Elementlar 0 dan boshlab raqamlangan. Ular son jihatidan boy bo'lishi mumkin emas.

Ale, ehtimol, massiv.

Massivlar bilan robotli usullar

Reverse() usuli massiv elementlarining tartibini oldingisiga o'zgartirish uchun ishlatiladi.

Biz massivni ishga tushiramiz: reverse() usulini chaqirish orqali uni teskari tartibda joylashtiramiz, shuning uchun yangi massiv noto‘g‘ri joylashtirilgan:

sort() usuli
  • sort() usuli massiv elementlarini satr literallari sifatida izohlaydi va massivni alifbo (leksikografik) tartibda tartiblaydi.
  • sort() usuli massivni o'zgartiradi.
  • Birinchi misolda, a.sort ni to'xtatib, biz olib tashlaymiz: Agar raqamlarni saralash zarur bo'lsa, sort() funksiyasi majburiy bo'lmagan argument bilan ta'minlanadi, bu funktsiya funktsiyasi bo'lib, quyidagi afzalliklarni qondiradi. :

uning ikkita argumenti bor

Raqamni aylantirish sizning aybingiz

Agar funktsiyaning birinchi argumentiga kichikroq (kattaroq, teng) argument ta'sir qilishi mumkin bo'lsa, u holda funktsiya salbiy (musbat, nol) qiymatni aylantirishi mumkin.Funktsiya quyidagicha ko'rinadi: \(10, 18, 25, 300, 6)\) Agar raqamlarni tartiblash kerak bo'lsa, biz quyidagi funktsiyadan foydalanishimiz mumkin: \(6, 10, 18, 25, 300)\) Masalan, \(b = new Array(10,6,300,25,18)\) massivini yaratamiz va argument sifatida argumentsiz va solishtirish funksiyasi bilan tartiblash natijalarini tenglashtiramiz:

\(Alifbo tartibida:)\)

  • {...}
  • \(Raqamli tartib :)\)
  • sort() usuli massiv elementlarini qatorlarga ajratadi va keyin ularni qatorlarga aylantiradi.
  • Operatorlar
  • agar... bo'lmasa...
  • esa

{...}

tanaffus

davom eting

\(Raqamli tartib :)\)

qaytish Ark shakllari ombor operatorini - blokni ifodalaydi.

Tayinlash - tanani tsiklga, aqliy operator tanasiga va funktsiyaga tayinlash.

()?

Miya operatori

sort() usuli massiv elementlarini qatorlarga ajratadi va keyin ularni qatorlarga aylantiradi.

mantiqiy aql ortida dasturlarni ochish uchun zastosovuetsya.
  • Ikkita sintaksis varianti mavjud:
  • Vikoristan dumba:
  • Ushbu operator aqliy ifoda deb ataladi, u aqlning ta'rifiga asoslangan ikkita ma'nodan biriga ega.

    Sintaksis: Ê muqobil if...else... .

    Oyoq dumbalari quyidagilarga teng:
    1. while iborasi siklni belgilaydi.
    2. Bu shunday yozilgan: Rasmiy ravishda while tsikli quyidagicha ishlaydi:
    • vikonuemo cycle_body;
    • 1-bosqichga o'tamiz.
  • Ikkita sintaksis varianti mavjud:
  • Bunday tsikl, agar takrorlashlar soni noma'lum bo'lsa, masalan, taniqli qo'shiq bosqichida g'alaba qozonadi.
  • Vikoristan dumba:
  • Butt:

    Operatorlar

    Break operatori siklning tanasini bir vaqtning o'zida bir qatordan ajratish imkonini beradi.

    Biz sonlar kublaridan ko'tni almashtiramiz, biz 5000 dan oshadigan kublarni ajratamiz. Agar n ni o'zgartirsak, biz 1 dan 100 gacha o'tishga harakat qildik.

    Ko'rinishidan, tsikl 1 dan k gacha bo'lgan qiymat uchun tugaydi, bu erda k - qolgan iteratsiya soni.

    esa

    davom eting Agar 1 dan 100 gacha bo'lgan 10 000 dan ortiq raqamlar kublarini chop etishimiz kerak bo'lsa, biz quyidagi tsiklni qurishimiz mumkin: Qaytish operatori funksiya yoki pastki indeks qiymatini aylantirish uchun ishlatiladi.

    Qaytish bayonoti funksiya qanday qiymat qaytarishi mumkinligini ko'rsatadi va u funktsiya tanasiga keyingi iboralarni qo'shadi.

    Qidiruv tizimlarida foydalanilganda, bu qaytarish operatori standart harakatni o'tkazib yuborish yoki o'tkazib yubormaslik imkonini beradi, ya'ni narx noto'g'ri bo'lganda brauzerni ochish. Uni hamma uchun ishlatish mumkin emas. Operatorsiz kimning arizasi noto'g'ri koristuvach pobachiv bi vikno predzhennya qaytaradi "Tuzatib bo'lmaydi!"

    Va ular newpage.html sahifasiga yo'naltirishlar berdilar.

    False operatori ariza topshirishni bekor qilish imkonini beradi va shu bilan kechikishning oldini oladi.

    Xuddi shunday, parametrlar uchun standart harakatni tanlash

    ustiga bosing , onKeyDown, onKeyPress, onMouseDown, onMouseUp, onSubmit, onReset, false qaytarilishini tuzatish kerak. Ushbu usul bilan onMouseOver dan foydalanish uchun siz return true operatoridan foydalanishingiz kerak. , onKeyDown, onKeyPress, onMouseDown, onMouseUp, onSubmit, onReset, false qaytarilishini tuzatish kerak. OnMouseOut, onLoad, onUnload kabi amallar uchun harakatni sahna orqasiga qo'yib bo'lmaydi. , onKeyDown, onKeyPress, onMouseDown, onMouseUp, onSubmit, onReset, false qaytarilishini tuzatish kerak.";

    Xotira - bu sizning ma'lumotingizni saqlashingiz va undan olishingiz mumkin bo'lgan xotira maydonining nomi.

    Hayratda qolgan (yaratilgan) o'zgaruvchan odamlar yordam so'rashadi

    kalit so'z

    var.

    // xabar - o'zgartirish xabarining nomi; Bu shuni anglatadiki, o'zgartirish kiritishda siz qabul qilinishi mumkin bo'lgan ma'lumotlar turini ko'rsatishingiz shart emas.

    Bundan tashqari, siz bir vaqtning o'zida bitta qiymatni, bir turdagi ma'lumotlar yoki boshqasini qo'yishingiz mumkin.

    Var chiqishi = "muvaffaqiyat";

    // O'zgartirilgan qator ma'lumotlar turi chiqishi = 28;

    // bu boshqacha, lekin ma'lumotlar turi "raqam" chiqdi = true; // bu o'zgartirildi, lekin u mantiqiy qiymatni ham saqlaydi O'zgartirish qiymatlari kerak bo'lganda ko'p marta o'zgartirilishi mumkin.

    // Yer yaratildi age var age;

    // o'zgaruvchan yoshga 67 yosh = 67 qiymati beriladi;

    // yoshni o'zgartirish "Pensiya yoshi" ga o'rnatiladi age = "Pensiya yoshi";

    // yoshni o'zgartiring, 55 raqami o'rnatilgan yosh = 55;

    Qo'shiqni faqat bitta turdagi ma'lumotlarga o'zgartirish orqali mijozlar bilan munosabatlarni rivojlantirish yaxshi amaliyotdir.

    to'lash kerak bo'lgan qiymatni zaxiraga yozmang

    har xil turlari

    hurmatlar

    Qaysi turdagi ma'lumotlarning o'zgarishini baholash mumkinligini tushunish uchun o'zgarishlarni yaratish vaqtida oldingi qiymatlarni ishga tushirish tavsiya etiladi.

    O'zgaruvchilar nomlari harflar, raqamlar va $ va _ belgilari bilan birlashtirilishi mumkin.

    • Shuning uchun birinchi belgi raqam bo'lishi mumkin emas.
    • Biroq, o'zgarish sifatida, ajratilgan so'zlarni ishlatish mumkin emas.
    • // Ikkita o'zgartirish yaratish, birinchi o'zgarish telefon nomi, ikkinchisi - o'lchov;
    • telefon, xabar;
    • Nom uchun registr harfi o'zgaruvchan qiymatga ega.

    Shunday qilib, masalan, telefon va Telefon o'zgartirildi - ikki xil o'zgarishlar mavjud.

    Qattiq rejim o'zgartirilmaganligi sababli, var kalit so'zisiz kob qiymatlariga o'zgartirishlar kiritishingiz mumkin.

    Narxi = 250,00;

    // O'zgartirish kiritildi va uni 250,00 foiz = "20%" raqami bilan ishga tushirdi;

    // Butt 1 ("ob'ekt" ma'lumotlar turi bilan) var koord1 = (x: 77, y: 100), koord2 = koord1;

    koordinat1.x = 55;

    // Power x ob'ektini yangi qiymatga o'rnating coord2.x; // 55, chunki coord1 va coord2 xabarni bir xil ob'ektga joylashtiradi // ko't 2 (ma'lumotlar turi "massiv" bilan) var coord1 = , koord2 = koord1;

    kord1 = 55;

    //Indeks 0 koordinatli element uchun yangi qiymat qo'shing;

    // 55, chunki coord1 va coord2 bir xil ob'ektga xabar yuboradi // ko't 3 ("sana" ma'lumotlar turi bilan) var date1 = new Date(2018,00,01), date2 = date1; sana2 = date2.setDate(date2.getDate()+7); // sanani 7 kunga oshirish sana1;// 01/07/2018, chunki

    sana1 va sana2 qasos bir va bir xil ob'ektga yuborilgan

    Raqam Raqamli turi:

    JavaScript ma'lumotlari

    ê universal. U butun va kasr sonlarni hisobot qilish uchun ishlatiladi.:

    • Var int = 5;
    • // butun son var float = 5,98;
    • // otish raqami

    JavaScript-da raqamlarni ifodalash formati IEEE 754-2008 standartiga mos keladi.

    JavaScript-da butun sonlarni faqat joylashtirish mumkin

    o'ninchi tizim raqam, balki visemkovy (0) da yoki:

    o'n olti raqam tizimi (0x)

    dumaloq qo'llarga tayinlangan to'g'ri prefikslar bilan:

    Var int = 010; // 8 int = 055;// 45 int = 0xFF;

    Biroq, biz NaN JavaScript-ning ma'nosini hech narsa bilan, shu jumladan o'zi bilan solishtirish mumkin emasligini ham ta'kidlaymiz.

    NaN = NaN;

    // noto'g'ri NaN === NaN;

    // yolg'on

    Mantiqiy ma'lumotlar turi

    Mantiqiy ma'lumotlarning ibtidoiy turi bo'lib, faqat ikkita qiymatga ega: rost (to'g'ri) va noto'g'ri (noto'g'ri).

    Var a = rost;

    var b = noto'g'ri;

    Qator (String)

    String - matnni ifodalash uchun JavaScript-da qo'llaniladigan ma'lumotlar turi. JavaScript qatori 0 yoki undan ortiq belgilardan iborat boʻlishi mumkin..

    JavaScript-dagi qator formati qanday qilib Unicode kodlashiga bo'ysunadi.

    Yordam uchun qatorning yaratilishi (satrning harfi) chizilgan

    matnni bitta yoki ikki oyoqqa qo'yish

    "JavaScript";

    "ECMAScript";

    JavaScript-da bitta va ikkita oyoq o'rtasida farq yo'q. Ammo bunday vaziyatlarda suv ostida emas, balki faqat bitta oyoqlardan foydalanish yaxshiroqdir. Misol uchun, agar siz ikki oyoqni ketma-ket qo'ysangiz, ularni bitta oyoqqa joylashtirish osonroq bo'ladi.

    Bu katlama oyoqlarini ekranlash zaruratini yo'q qiladi.

    "ECMAScript";

    // ekransiz (bitta yorliqlar bilan) "ECMAScript";

    // ekranlardan

    JavaScript qatori noto'g'ri bo'lishi mumkin

    maxsus belgilar

    .

    Masalan, \n (qatorni siljitish), \t (jadval), \r (karetaning aylanishi) va boshqalar.

    “Bu taklif.\nVa bu taklif, lekin u yangi qatordan boshlanadi.”;

    Qatorlar yordamida katlama (unifikatsiya) yoki boshqacha qilib aytganda, birlashtirish operatsiyasini bajarishingiz mumkin.

    Buning uchun "+" operatoridan foydalaniladi.

    Ushbu operatsiyaning ma'nosi birinchisining oxiriga boshqa qatorni qo'shishdan iborat.

    "Men sevaman" + "JavaScript";

    // Men JavaScript-ni yaxshi ko'raman

    Qiymat "aniqlanmagan"

    aniqlanmagan - bitta qiymatga ega bo'lgan va aniqlanmagan ma'lumotlarning maxsus ibtidoiy turi.

    Ushbu turdagi ma'lumotlar o'zgarishi mumkin, chunki hali hech qanday ma'no berilmagan.

    Qachonki garovning qiymati funksiya bo'lsa, u ushbu ob'ektning usuli deb ataladi.

    Rashta pari, tobto.

    funktsiyasi g'olib bo'lmagan garovlar ob'ektning vakolatlari deb ataladi.

    Boshqacha qilib aytganda, ob'ekt - bu vakolatlar va usullardan shakllanadigan ma'lumotlarning tuzilishi.

    Var shaxs = ( ism: "Vitaliy", yosh: 27, getAge: funktsiya () ( "Vik: " + this.age; ) qaytaring )

    Ob'ektning vakolatlariga o'tish nuqta orqali yoki qo'shimcha qavs belgisi yordamida siqiladi.

    // brauzer konsolida yosh qiymatini ko'rsatish // 1 usul (nuqta orqali) console.log(person.age);

    // 2-usul (qo'shimcha yordam uchun) console.log(shaxs["yosh"]);

    // getAge usulini chaqirish;

    To'g'ri bo'lgan qiymat console.log(person.getAge()) da ko'rsatiladi;

    operator turi

    Tur operatori qator ko'rinishidan ma'lumotlar turi haqida ma'lumot olish uchun ishlatiladi. , onKeyDown, onKeyPress, onMouseDown, onMouseUp, onSubmit, onReset, false qaytarilishini tuzatish kerak. Typeof operatorining sintaksisi (dumaloq qo'llarsiz versiya):

    Virus turi

    typeof operatorining sintaksisi (dumaloqlar bilan):

    Turi (virus)

    Var nomi, yosh = 37, email = "

    ", isLicense = rost, qiziqish: null, lastExperience: (davr: "Iyun 2011 - Iyun 2018", joy: "ISACA, Moskva", pozitsiya: "Veb dizayner" ), getExperience: function() ( lastExperience.periodni qaytarish + "(" + lastExperience.position + " - " + lastExperience.place + ")" ); // "object" typeof getExperience; * (1) - bu muammo, birinchi amalga oshirishdan boshlab ,null - bu ibtidoiy ma'lumotlar turi, bu ob'ekt emas */ /* (2) - hatto typeof operatori funktsiyalarni to'g'ridan-to'g'ri ko'rishi aniq; , lekin JavaScipt-dagi funksiya bu qurilishda muammo yuzaga kelsa, osongina o'tish mumkin bo'lgan ob'ektdir: */ typeof getExperience.__proto__.__proto__ // "ob'ekt" (funktsiya prototipi ob'ekt)

    Konstanti

    Const COLORS = (qizil: "#ff0000", yashil: "#00ff00", ko'k: "#00ff00") COLORS = ["#ff0000", "#00ff00", "#00ff00"];

    - Yangi do'stlar bilan tanishish uchun beshta sabab