Array Cifrlı indekslengen bahalardıń tártiplengen dizimi
Data Sane waqit
Error Jumıs waqtında qáte (taǵı bir neshe anıq zatlar ámeldegi
qáte tómengi túrleri)
Function Funksiya
Object Uliwmaliq obyekt
RegExp Turaqlı sóz dizbegi
Siz hár bir ornatılǵan uyqas jazıwlar túrin jańa, sıyaqlı járdeminde jaratılıwmasıńız múmkin bul erda kórsetilgen:
var items = new Array();
var now = new Date();
var error = new Error("Something bad happened.");
var func = new Function("console.log('Hi');");
var object = new Object();
var re = new RegExp("\\d+");
Tuwrıdan-tuwrı sırtqı kórinisler
Bir neshe ornatılǵan uyqas jazıwlar túrleri shın mániste sırtqı kórinislerge iye. Tuwrıdan-tuwrı bul sintaksis anıq ob'ekt jaratpay uyqas jazıwlar ma`nisin anıqlawǵa múmkinshilik beredi, jańa operator hám ob'ekt konstruktorınan paydalanǵan halda. (Bul baptın basında, siz baslanıwiy ádebiyatlardıń úlgilerin, sonday-aq torli ádebiyatlardı kórdińiz, cifrlı ádebiyatlar, logikalıq ádebiyatlar, bos háripler hám anıqlanbaǵan háripler.)
Ob'ekt hám massiv háripleri
Ob'ekt literal sintaksisiga iye bolǵan ob'ektti jaratıw ushın siz ayrıqshalıqlardı belgilewińiz múmkin Qawıslar ishindegi jańa ob'ekt. Ayrıqshalıqlar identifikatordan yamasa qatar, eki noqat hám baha, útir menen ajıratılǵan bir neshe ayrıqshalıqlarǵa iye.
Mısalı :
var book = {
name: " Ob'ektke jóneltirilgen JavaScript-dıń principlerı ",
year: 2014
};
Sonıń menen birge, qatar háriplerin ózgeshelik atı retinde isletiwińiz múmkin, bul paydalı múlk atı boslıqlarǵa yamasa basqa arnawlı zatlarǵa ıyelewin qálegenińizde belgiler:
var book = {
"name": " Ob'ektke jóneltirilgen JavaScript-dıń principlerı ",
"year": 2014
};
Bul mısal sintaktikaga qaramay, aldınǵısına teń ayırmashılıqlar. Eki mısal da logikalıq jaqtan tómendegilerge teń:
var book = new Object();
book.name = "The Principles of Object-Oriented JavaScript";
book.year = 2014;
Aldınǵı ush mısaldıń hár birewiniń nátiyjesi birdey:
eki ózgeshelikke iye bolǵan ob'ekt. Naǵıstı tańlaw sizge baylanıslı, sebebi aqir-aqıbet funksionallıq birdey. Hár qanday nomerdi qosıp, soǵan uqsas tárzde dızbekti anıqlap alıwıńız múmkin kvadrat qawıs ishinde útir menen ajıratılǵan bahalar. Mısalı :
var colors = [ "red", "blue", "green" ];
console.log(colors[0]); // "red"
Bul kod tómendegilerge teń:
var colors = [ "red", "blue", "green" ];
console.log(colors[0]); // "red"
Funktsiya literallari
Siz derlik mudamı funktsiyalardı olardıń sózbe-sóz forması járdeminde anıqlaysiz. Tiykarınan, paydalanıw funktsiya konstruktorı ádetde qıyınshılıqlardı esapqa alǵan halda tushkunlikka túsedi kodtı saqlap qalıw, oqıw hám disk raskadrovka kodı, sol sebepli onı kemnen-kem jaǵdaylarda kodta kóresiz. Funktsiyalardı jaratıw júdá ańsat hám paydalanǵande qátelerge jol qoymaydı sózbe-sóz forması.
Mısalı :
function reflect(value) {
return value;
}
// is the same as
var reflect = new Function("value", "return value;");
Bul kod hár qanday bahanı qaytaratuǵın reflect () funktsiyasın belgileydi oǵan ótti. Hátte bul ápiwayı funktsiya ushın da sózbe-sóz forma konstruktor formasından kóre jazıw hám túsiniw ańsatlaw. Keyinirek, ol erda Baslanıwiy hám uyqas jazıwlar túrleri 11 konstruktorda jaratılǵan funktsiyalardı disk raskadrovka qılıwdıń jaqsı usılı emes forma : Bul funktsiyalar JavaScript-ni dúzetuvchilar tárepinen tán alınbaǵan hám sol sebepli arzańızde qara qutı wazıypasın atqarıń.
Úzliksiz ańlatpa literallari
JavaScript-de úzliksiz túrde ańlatıwǵa múmkinshilik beretuǵın úzliksiz ekspression literallar ámeldegi RegExp konstruktorınan paydalanmastán ańlatpalar. Úzliksiz ańlatpa jazıwlar Perl-dagi ápiwayı sóz dizbegilerge júdá uqsas : naǵıs ámeldegi eki kesma ortasında hám qosımsha variantlar bir belginen ibarat ekinshi sızıqtan keyin. Mısalı :
var numbers = /\d+/g;
// is the same as
var numbers = new RegExp("\\d+", "g");
JavaScript-dagi turaqlı sóz dizbegilerdiń sózbe-sóz forması azmaz ańsatlaw konstruktor formasından kóre kóbirek jumıs tutıw kerek, sebebi siz qáwipleniwge hájet joq sımlar ishindegi belgilerden shaǵılısıw haqqında. RegExp konstruktorınan paydalanǵande, siz naǵıstı jeńiliwge ótkeresiz, sol sebepli hár qanday zattan qashıwıńız kerek arqa sızıqlar. (Sol sebepli \ d sózbe-sóz, \\ d bolsa konstruktor.) Konstruktorǵa salıstırǵanda úzliksiz ekspression literallarga ústinlik beriledi JavaScript-dagi forma turaqlı sóz dizbegi tuzilayotgan hallar bunnan tısqarı dinamikalıq túrde bir yamasa bir neshe sımlardan. Yaǵnıy, Funktsiyanı esapqa almaǵanda, haqıyqattan da huqıq joq yamasa ornatılǵan túrlerdi jaratıw ushın nadurıs usıl. Kóplegen islep shıǵıwshılar ádebiyatlardı ábzal kóriwedi, geyparaları bolsa konstruktorlardı ábzal kóriwedi. Qaysı usıldı kóbirek tapsańız, saylań paydalanıw ushın qolay.
Mulkge kirisiw
Ayrıqshalıqlar - bul ob'ektte saqlanatuǵın at / baha jupi. Noqat belgisi JavaScript-dagi ayrıqshalıqlarǵa kirisiwdiń eń keń tarqalǵan usılı (sıyaqlı.) kóp ob'ektke jóneltirilgen tiller), lekin siz sonıń menen birge ayrıqshalıqlarǵa kiriwińiz múmkin Qawsırmalı jazıw járdeminde JavaScript úskeneleri sabaq menen. Mısalı, noqat jazıwınan paydalanatuǵın bul kodtı jazıwıńız múmkin:
var array = [];
array.push(12345);
Qawıslar belgisi menen, endi usıl atı a-ga kiritilgen tómendegi mısalda bolǵanı sıyaqlı tórtmuyush qawıslar menen jabılǵan qatar:
var array = [];
array["push"](12345);
Bul sintaksis siz qay-qaysısın dinamikalıq túrde hal qılajaq bolǵanıńızde júdá paydalı bolıp tabıladı kirisiw ushın múlk. Mısalı, bul erda qawıs belgisi sizge a den paydalanıwǵa múmkinshilik beredi kirisiw ózgeshelikin belgilew ushın literal ornına string ózgeriwshisi
var array = [];
var method = "push";
array[method](12345);
Bul dizimde ózgeriwshen usıl " push" ma`nisine iye, sol sebepli push () qatardı shaqırdı. Bul qábilet júdá paydalı, sebebi siz kórip turǵanıńız siyaqlı bul kitap. Sonı esta saqlaw kerek, sintaksisdan tısqarı, tek parq - islew yamasa basqasha - noqat belgisi menen bracket notation - bul qawıs belgisi sizge arnawlı belgilerdi isletiwge múmkinshilik beredi múlk atlarında. Islep shıǵıwshılar noqat belgilerin ańsatlaw tabıwadı oqıw ushın, sol sebepli onıń qawıs jazıwına qaraǵanda tez-tez isletiliwin kóresiz.
Malumot túrlerin anıqlaw
Funktsiya - bul paydalanıwda anıqlanatuǵın eń ańsat uyqas jazıwlar túri funktsiya boyınsha typeof operatorı, operator " function" ni qaytarıwı kerek:
function reflect(value) {
return value;
}
console.log(typeof reflect); // "function"
Basqa uyqas jazıwlar túrlerin anıqlaw hiyle-focus bolıp tabıladı, sebebi barlıq maǵlıwmat ushın funktsiyalardan tısqarı túrleri, typeof " ob'ekt" ni qaytaradı. Bul júdá paydalı emes júdá kóp hár qıylı túrleri menen shuǵıllanganingizda. Malumotni anıqlaw ushın ańsatlaw jazsangiz, siz JavaScript-dıń instanceof operatorınan paydalanıwıńız múmkin. Instanceof operatorı parametr hám úskeneni parametr retinde qabıl etedi. Eger baha konstruktor kórsetetuǵın túrdegi úlgiler bolsa, instanceof true ma`nisin qaytaradı ; keri jaǵdayda, bul erda kórinip turǵanı sıyaqlı, ol nadurıs ma`nisin qaytaradı :
var items = [];
var object = {};
function reflect(value) {
return value;
}
console.log(items instanceof Array); // true
console.log(object instanceof Object); // true
console.log(reflect instanceof Function); // true
Bul mısalda instanceof hám konstruktor járdeminde bir neshe bahalar sınap kórilgen. Instanceof járdeminde hár bir maǵlıwmat túri tuwrı anıqlanǵan jáne onıń haqıyqıy túrin ańlatiwshı konstruktor (konstruktor sonda da ózgeriwshin jaratıwda paydalanilmagan). Instanceof operatorı miyraslar etip alınǵan túrlerdi anıqlay aladı. Bul degeni hár bir ob'ekt tiykarınan Ob'ekttiń úlgisi bolıp tabıladı, sebebi hár bir uyqas jazıwlar túri Ob'ektten miyraslar. Bunı kórsetiw ushın tómendegi dizim ush siltemenı kórip shıǵadı ilgeri instanceof menen jaratılǵan :
var items = [];
var object = {};
function reflect(value) {
return value;
}
console.log(items instanceof Array); // true
console.log(items instanceof Object); // true
console.log(object instanceof Object); // true
console.log(object instanceof Array); // false
console.log(reflect instanceof Function); // true
console.log(reflect instanceof Object); // true
Hár bir uyqas jazıwlar túri ob'ekt úlgisi retinde tuwrı anıqlanǵan, odan barlıq uyqas jazıwlar túrleri miyraslar etip alınadı.
Massivlerdi aniqlaw
Instanceof qatarlardı anıqlay alsa da, tásir etetuǵın bir esaptan tısqarı ámeldegi veb-islep shıǵıwshılar : JavaScript-ni qádiriyatları aldınǵa hám keyin basıp uzatılıwı múmkin birdey veb -bet degi ramkalar. Bul tek siz urınıp kórgenińizde mashqalaǵa aylanadı uyqas jazıwlar ma`nisiniń túrin anıqlaw ushın, sebebi hár bir veb -bette ayriqsha ózgeshelik ámeldegi óz global konteksti - Object, Array hám basqa ornatılǵan zatlardıń óz versiyası túrleri. Nátiyjede, qatardı basqasınan basqasına ótkeriwde, instanceof islemeydi, sebebi dızbek tiykarınan Array mısalı bolıp tabıladı basqa ramkadan Bul mashqalanı sheshiw ushın ECMAScript 5 Array. isArray () ni usınıs etdi, qaramastan, Array mısalı retinde bahanı anıq belgileydi bahanıń kelip shıǵıwı. Bul usıl qabıl etilgende haqıyqıy bolıwı kerek hár qanday kontekstten jergilikli dızbek bolǵan baha. Eger sizdiń átirapıńız sonday bolsa ECMAScript 5-ga sáykes keletuǵın Array. isArray () - bul dızbeklerdi anıqlawdıń eń jaqsı usılı :
var items = [];
console.log(Array.isArray(items)); // true
Array. isArray () usılı kóplegen ortalıqlarda qollap -quwatlanadı, da brauzerlerde, de Node.js. Bul usıl Internette qollap -quwatlanmaydi Explorer 8 hám odan aldınǵı versiyalar.
Primitive oraw túrleri
Itimal, JavaScript-dıń eń shálkes bólimlerinen biri bul túsinik bolıp tabıladı baslanıwiy oraw túrleri. Ush baslanıwiy oraw túri ámeldegi (String, Nomer hám logikalıq ). Bul arnawlı uyqas jazıwlar túrleri islew ushın ámeldegi ob'ektler menen islew sıyaqlı ańsat baslanıwiy qádiriyatlar menen. (Bul áp-áneydey bo'lar edi Eger siz basqa sintaksisdan paydalanıwıńız yamasa proceduraǵa ótiwińiz kerek bolsa, shálkes teksttiń tómengi qatarın alıw ushın usıl.) Baslanıwiy oraw túrleri - bul avtomatikalıq túrde uyqas jazıwlar túrleri tarlar, nomerler, yamasa logikalıq oqıladı. Mısalı, bul dizimdiń birinshi qatarında baslanıwiy qatar baha ismga beriledi. Ekinshi qatar ismga ob'ekt sıyaqlı qaraydı noqat belgisi járdeminde charAt (0) ga qońıraw etedi.
var name = "Nicholas";
var firstChar = name.charAt(0);
console.log(firstChar); // "N"
Bul saqna artında júz boladı :
// what the JavaScript engine does
var name = "Nicholas";
var temp = new String(name);
var firstChar = temp.charAt(0);
temp = null;
console.log(firstChar); // "N"
Ekinshi qatarda ob'ekt sıyaqlı jeńiliw (baslanıwiy) isletilingenligi sebepli, JavaScript dvigateli String ornın jaratadı, sonda charAt (0) boladı jumıs. String ob'ekti joq etiliwinen aldın tek bir sóz ushın ámeldegi (autoboxing dep atalǵan process). Bunı sınap kóriw ushın a ga ózgeshelik qosıwǵa háreket etiń tap ádetdegi ob'ekt sıyaqlı jeńiliw:
var name = "Nicholas";
name.last = "Zakas";
console.log(name.last); // undefined
Bul kod ózgeshelikti jeńiliw nomiga aqırǵı qosıwǵa háreket etedi. Bul koddıń ózi áp-áneydey, tek ózgeshelik joǵaladı. Ne boldı? Ápiwayı zatlar menen islewde qálegen waqıtta ayrıqshalıqlardı qosıwıńız múmkin hám siz olardı qolda alıp taslamaguningizcha olar qaladı. Baslanıwiy oraw menen túrleri, qásiyetleri joǵalıp ketken sıyaqlı tuyuladi, sebebi ob'ekt qaysı múlk tayınlanǵanınan keyin tezlik penen joq etiledi.
JavaScript dvigatelinde tiykarınan ne júz berip atırǵanı :
// what the JavaScript engine does
var name = "Nicholas";
var temp = new String(name);
temp.last = "Zakas";
temp = null; // temporary object destroyed
var temp = new String(name);
console.log(temp.last); // undefined
temp = null;
Qatarǵa jańa ózgeshelik belgilew ornına, kod tiykarınan jaratadı keyinirek joq etiletuǵın waqtınshalıq ob'ekt degi jańa múlk. Keyinirek bul ózgeshelikke kiriwge háreket qılsańız, basqa ob'ekt waqtınsha boladı jaratılǵan hám jańa múlk ol erda joq. Eger málimleme sonda da instanceof bolsa, qádiriyatlar baslanıwiy bahalar ushın avtomatikalıq túrde jaratıladı bul túrdegi bahalardı teksergende nátiyje nadurıs :
var name = "Nicholas";
var count = 10;
var found = false;
console.log(name instanceof String); // false
console.log(count instanceof Number); // false
console.log(found instanceof Boolean); // false
Instanceof operatorı false ma`nisin qaytaradı, sebebi waqtınshalıq ob'ekt tek baha o'qilganda jaratıladı. Sebebi instanceof tiykarınan o'qimaydi hár qanday zat, waqtınshalıq zatlar jaratılmaydı jáne bul bizge qádiriyatlardı aytıp beredi emes baslanıwiy oraw túrleriniń mısalları. Siz baslanıwiy oramdı jaratılıwmasıńız múmkin qolda jazadı, biraq birpara qaptal tásirinleri ámeldegi:
var name = new String("Nicholas");
var count = new Number(10);
var found = new Boolean(false);
console.log(typeof name); // "object"
console.log(typeof count); // "object"
console.log(typeof found); // "object"
Kórip turǵanıńız siyaqlı, baslanıwiy oraw túrine mısal jaratıw jaysha basqa ob'ektti jaratadı, yaǵnıy typeof túrin anıqlay almaydı saqlawshı bolǵan maǵlıwmatlar. Bunnan tısqarı, siz String, Number hám Boolean úskenelerin ózińiz sıyaqlı isleta almaysız baslanıwiy qádiriyatlar. Mısalı, tómendegi kodta Boolean isletiledi ob'ekt. Logikalıq ob'ekt nadurıs, biraq console. log (" Tapildi") ele da atqarılıp atır sebebi ob'ekt mudamı shártli gáp ishinde haqıyqıy esaplanadı. Ob'ekttiń nadurıs ekenligin ańlatıwı zárúrli emes; bul ob'ekt, sol sebepli ol bahalaydı rastg’a.
var found = new Boolean(false);
if (found) {
console.log("Found"); // this executes
}
Qol menen jaratılǵan baslanıwiy oramlar da sálkeslikke alıp keliwi múmkin basqa jollar, sol sebepli eger siz arnawlı jaǵdaynı tabıwıńız kerek bolsa, bunı ámelge asırıw logikalıq jaqtan sol sebepli siz odan qashıwıńız kerek. Kóbinese, primitive oraw úskeneleri járdeminde primitiveler ornına tek qátelerge alıp keledi.
Juwmaq
Bul kurs jumisinda tomedi turler menen islew,obejectler haqqinda misallar ham tusinikler berilip otildi.Jane Javascript objectlerdi qaytip pada etiw ham olardan paydalaniwlar korip shigildi. JavaScript-de klasslar bolmasa -da, onıń túrleri bar. Hár bir ózgeriwshi yamasa maǵlıwmatlar bólegi málim bir baslangish yamasa uyqas jazıwlar túri menen baylanıslı. Bes baslanıwiy tur (qatarlar, nomerler, logikalar, null hám anıqlanbaǵan ) tuwrıdan-tuwrı berilgen ushın ózgeriwshen ob'ektte saqlanatuǵın ápiwayı bahalardı ańlatadı kontekst. Siz baslanıwiy túrlerdi anıqlaw ushın typeof den paydalanıwıńız múmkin null ma`nisin tuwrıdan-tuwrı arnawlı baha null menen salıstırıwlaw kerek. Malumot túrleri JavaScript-dagi klasslarǵa bawırlas zat hám ob'ektler uyqas jazıwlar túrleriniń úlgileri. Siz jańa ob'ektlerdi jaratıwiniz múmkin jańa operator yamasa uyqas jazıwlar literalidan paydalanǵan halda. Siz ayrıqshalıqlarǵa hám birinshi náwbette noqat jazıwınan paydalanatuǵın usıllar, lekin siz qawıs jazıwın da isletiwińiz múmkin. Funksiyalar - bul JavaScript-dagi ob'ektler hám siz olardı identifikaciyalashingiz múmkin typeof operatorı. Anıqlaw ushın konstruktor menen instanceof den paydalanıwıńız kerek hár qanday basqa uyqas jazıwlar túrindegi ob'ektler. Primitivlarni siltemeǵa uqsaslaw qılıw ushın JavaScript-de ush ámeldegi baslanıwiy oraw túrleri: String, Number hám Boolean. JavaScript jaratadı sizge uqsas baslanıwiylar menen mámile etiwińiz ushın perde artı daǵı bul zatlar ádetdegi zatlar, biraq waqtınshalıq ob'ektler eń qısqa waqıt ishinde joq etiledi olardan paydalanıw bayanatı tolıq. Ózińiz jaratıwlariniz múmkin bolsa -da baslangish oraw jaǵdayları, bunı etpeslik jaqsılaw, sebebi shatastırıw mumkin.
KIRISIW
Javascript objectke bagdarlangan programmalastiriw tili. Javascript de derlik hámme zat Object esaplanadı. Bul kurs jumisinda Javascript Object qanday soǵılıwı, ózgeriwi jáne onıń qásiyetleri haqqında mag’liwmatlar aliwníz mumkin. Object gilt hám baha (key-value) jupliginan shólkemlesken jıynaq bolıp tabıladı. Giltdin’ ma`nisi ápiwayı ǵana string, nomer, boolean, basqa object hám hatteki funksiya da bolıwı múmkin. Javascriptte Object payda etiwdin’ bir neshe usılları bar. Hár biri mısallar menen tusindirilip o’tiledi. Objectni nolden jasawdin’ eń ápiwayı usıllarınan biri bul Object Literal usılı haqqinda misallar menen tanistirilip ótiledi.Jane Primitive ha’m Reference turler haqqinda tusindiriwler, mag’liwmatlar, olardin metodlari,qasiyetleri haqqinda misallar menen tusindirilip o’tiledi.Janede kurs jumisinda massivler uliwma mag’liwmat turleri hamde oni aniqlawsshi typeof operatorlari haqinda tusindiriwler misallar korip o’tiledi.
Do'stlaringiz bilan baham: |