КомпютерҳоБарномасозӣ

Ҷадвалбандии JavaScript ва офаридани он. Ҳамаи асбобҳои JavaScript

Дар ин мақола мо дар JavaScript-массиви, ҷузъҳои он назар. JavaScript-забони сенарияи нигаронида комил тарҳрезӣ барои барномасозӣ мебошад. Дар асл, забони ECMAScript (стандарти ECMA-262) татбиқ менамояд.

Аз JavaScript? Ин аст, ҳамчун забони дарунсохти бо мақсади муайян намудани роҳи барнома ба татбиқи мавзӯъ истифода бурда мешавад. Ин мумкин аст, дар браузери ёфт: он аст, он ҷо ҳамчун забони дастнавис, ки ба медиҳад саҳифаҳои интернетӣ интерактивӣ истифода бурда мешавад.

Хусусиятҳои асосии меъморӣ ин маҳсулот мебошанд матнро динамикӣ ва нотавон, хотираи беҳтарин вазифаҳои барномасозӣ avtoupravlenie, ки объектҳои аз резиши аввал мебошанд.

Дар асл, дар JavaScript таъсири сабабҳои гуногун, чунки рушди як забони монанд ба Java, вале осон ба истифода аз тарафи барномасозони эҷод. Бо роҳи, ба забони JavaScript ягон ширкат ё ташкилоте, ки онро аз як қатор сабкҳои барномасозӣ истифода таҳиягарон веб гуногун дар ихтиёр дошта бошад.

Бояд зикр намуд, ки JavaScript - тамғаи молӣ ба қайд гирифта аз Oracle Corporation Group.

ќатори чӣ гуна аст?

Ном массиви намуди маълумот, ки ба арзишҳои рақамгузорӣ карда молекула. Ҳар як чунин арзиш аст, чун ҷузъи массиви ва рақама аз он арвоҳе, компоненти номида, даъват индекс. JavaScript-ќатори untyped. Ин маънои онро дорад, ки дар қитъаҳои сахт метавонад ҳар навъ, ки бо қисмҳои гуногун тааллуқ доштан ба массиви ҳамин, ки намудҳои тамоман гуногун дошта бошанд.

Илова бар ин, JavaScript-массиви динамикӣ аст, ва дар он гуфта мешавад, ки дар як андозаи муайяни лозим эълон карда намешавад. Баъд изофа қисмҳои нав дар ҳар вақти.

истеҳсоли сахт

Бо истифода аз забони JavaScript барои сохтани массиви хеле душвор аст. Ду усули барои ин вуҷуд дорад. Дар аввал бар мегирад истеҳсоли ќатори бо истифода аз аслии - аз ќавс мураббаъ, дар дохили он аст, рӯйхати адад гузошта, аз ҳам ҷудо бо вергул ҷудо.

  • var = холӣ []; // массиви холӣ;
  • var numers = [4, 1, 2, 5]; // массиви бо панҷ ҷузъҳои рақамӣ;
  • var фарқият = [1,5, дурӯғ, «матн»]; // массиви бо се унсури намудҳои гуногун.

Чун қоида, он аст, талаб карда намешавад, ки арзишҳои оддӣ (сатрҳо ва рақамҳои). Он ҳамчунин метавонад ҳар гуна изҳори дигар, барои мисол, literals объект, вазифа ва рамзхо дигар бошад.

Роҳи дуюм барои сохтани дизайнери массиви аст, ки ба даъват Array (). Барои даъват ӯро ба яке аз се усули:

  • Тамос бо ороишгари бе далелҳои: var б - Array нав (). Ин барои таъсис додани муодили массиви холӣ ба аслӣ холӣ [] таъмин менамояд.
  • Дар ороишгари таври возеь нишон додани м арзиши ҷузъҳои массиви дар: var б = Array нав (1, 3, 5, 8, «хати», рост). Дар ин ҳолат, лоињакаш рӯйхати далелҳои, ки ба як қисмати массиви нав табдил намуд. Далелҳо ба массиви навишта ҷойгиршавии он ҷо нишон дода мешавад.
  • Муайян кардани имкониятҳо барои арзишҳои минбаъд ба таъин. Ин бо массиви ошкор ба як зумра дар қавс замима кардааст: var б = Array нав (5). Ин усул ошкор мегирад массиви људо маблаѓи зарурии ҷузъҳои (ҳар он аст, мисли номуқарраршуда рӯйхат) бо имконияти таъин намудани арзишҳои дар муаррифии. Ин шакл одатан истифода бурда қаблан ҷудо кардани ботов-массиви ки дарозиаш аст, ки дар пешакӣ маълум аст.

Сабт, хондан ва илова тафсилоти массиви

Даст ба компонентҳои массиви метавонад тавассути оператори [] бошад. Бо роҳи, ҳамаи ҷузъҳои дар JavaScript, сар карда аз сифр доранд шумурда аст. Барои гирифтани унсурҳои лозим аст, ишора шумораи он дар қавсайн мураббаъ. Чун ќоидаи умумї, адад мумкин аст тағйир ёфт. A JavaScript илова ба массиви, онро ба таъини таърихи нав кифоя аст.

Бояд зикр кард, ки дар JavaScript хатогӣ метавонад ягон рақами унсурҳои ҳар гуна нигоҳ.

Дарозии массиви

Пас, мо медонем, ки чӣ JavaScript. дарозии массиви дар маҷмӯъ падидаи ҷолиб аст. Биёед он ба таври муфассал дида бароем. Ҳамаи диапазонҳои истифода Созандаи Array () сохта ва ошкор тавассути массиви аслӣ доранд, молу мулки муаян, ки withdraws шумораи умумии элементҳои раҳме. Аз массиви метавонад номуайяни тафсилоти (номуайян The таъйиншуда), ки ифодаи дақиқ бештар садо Пас: дарозии сифат аст, ҳамеша аз ҷониби як аз бузургтарин рақами (индекси) аз ќисмати массиви бузургтар аст. дарозии сифат аст, ба таври худкор тасҳеҳ, мондан дақиқ дар намуди ќатори тафсилоти нав.

Барои инъикоси унсури ниҳоии ќатори, шумо метавонед амволи дарозии, истифода менамояд.

Дар қисми охир шохиси як камтар аз андозаи аз массиви аст. Баъд аз Вақтсанҷи сар ҳамеша аз сифр. Оҳ, ин JavaScript! Дарозии массиви вобаста шумораи аниқи он аз унсурҳои. Аз ин рӯ, агар шумо намедонед, ки чӣ қадар бояд вуҷуд дошта бошад, лекин шумо бояд ба рӯй ба элементи охирони массиви, зарур аст, ки ба кор бурдани номаи: v.length - 1.

Iterate ба ќатори қисмҳои

Бисёр вақт, молу мулк дарозии, ки истифода бурда мешавад барои iterate бар ќатори қитъаҳои дар давраи:

  • var мева = [ «Тарбуз», «шафтолу», «себ», «банан»];
  • барои (var I = 0; ман fruits.lenght <; ман ++);
  • document.write (меваи [ман] + «...»).

Дар ин мисол он аст, ки ҷузъҳои пайваста ташкил ва бо аввалин қисми, ки тамассук шохиси сифр оғоз. Агар маврид ин нест, ки пеш аз ҳар як даъват унсури массиви бояд санҷида шаванд, агар он муайян карда мешавад.

Давраи низ баъзан ба initialize ҷузъҳои истифода бурда мешавад.

Афзоиши ва массиви truncation ба

Ман ҳайрон, ки чӣ тавр бо истифода аз забони JavaScript сатр ба ќатори илова? Дар раванди кор бо рамзхо, дарозии дарозии ба таври худкор ба беҳтаршавии сифати аст, ки чаро мо бояд ба нигоҳубини он худ. Зарур аст, ки ба ёд як муфассал ягонаи - амволе, дарозии аст, ки барои фақат барои хондан дастрас нест, балки барои сабти. Агар арзиши аттрибутӣ дарозии сифат, ки медиҳад ба андозаи аз ҷорӣ, массиви аст, ба арзиши муъайян кам карда мешавад. Ҳар гуна ҷузъҳои, ки дар доираи нави нишондињандањои, суфра ва арзишҳои онҳо дохил карда нашудаанд, аз даст, ҳатто агар шумо дертар баргардад дарозии - арзишҳои барқарор карда намешавад.

foo.length = 0: Бисёр фақат ба массиви чун тоза.

Агар сифати дарозии медаванд бузургтар аз арзиши кунунии он, дар охири массиви хоҳад нав, ҷузъҳои номаълум, ки аз он ба андозаи дилхоҳ хоҳад афзуд.

Ҳазфи амаликунонии тафсилоти

Дар оператори Нобудкунӣ, нишон медиҳад, ки ҷузъи ба массиви ба номуайян, вале он идома дар ин ҳолат вуҷуд доранд. Агар шумо хоҳед, ки ба хориҷ унсури JavaScript аз массиви, то ки қисми боқимондаи ба ҷои холи меоянд, ба шумо лозим аст ки ба истифодаи яке аз роҳҳои барои пешгӯии дар массиви. Усули Array.shift (), хориҷ қисмати аввал, поп () - қатъ ќисмати ва splice усули () - яке аз ҷузъи ё қатор дилхоҳ массиви.

Мақодири гуногунҷанбаи

Чунин ба назар мерасад, ки мо дарк андаке, ки чӣ JavaScript. Мақодири ду-ченака -, ки бояд дар оянда баррасӣ мешавад. Оё шумо ёд доред, ки рамзхо JavaScript метавонад ҳамчун ҷузъҳои адад дигар аст? Ин хусусият аст, ки барои истеҳсоли рамзхо бисёрҷониба-ченака истифода бурда мешавад. Барои боздид аз ҷузъҳои дар ќатори рамзхо ба кор бурдани ќавс ду маротиба кифоя аст.

Мақодири ассотсиативии

Акнун мо мефаҳмем, ки чӣ тавр ба тамғаи молӣ истифода мебарад JavaScript рамзхо ассотсиативии. Барои ин ба мо лозим аст, то ба назарияи назар: рамзхо ассотсиативии баъзан мизҳои шудаи номида мешавад. Бо шарофати ба онҳо, ба ҷои қатор шохиси шудаанд, истифода бурда мешаванд. Истифодаи чунин сохторҳои руйдодҳои истифода аз номи хосияти объекти оддӣ, балки дар ин embodiment, иљрои корњо дар формати саф. Азбаски ҳастанд, нест, роҳҳои таҳрир JavaScript рамзхо ассотсиативии нест, ки онҳо хеле камтар аз маъмулӣ истифода бурда мешаванд. Бояд қайд кард, ки онҳо то ҳол метавонад барои нигањдошт маълумоти муфид ва соддагардонии нигоҳдории қитъаҳои, ки дастрас хоҳад буд.

массиви Натиҷаи

Ва мо ҳоло дар системаи JavaScript таҳсил хоҳад кард? массиви Натиҷаи ба қуттии муколама (дар экран), инчунин арзишҳои баромади ҷузъҳои массиви аст.

Агар барномаи шумо мехоҳед, ки барои намоиши арзишҳои ҳамаи ҷузъҳои, он гоҳ ба он муносиб ба кор бурдани дастурҳои барои мебошад. Ҷолиб аст, ки қоидаҳои тағйирёбанда-мубориза барои истифода дар айни замон ҳамчун ҷузъи намояи массиви аст.

тоза

Бо мақсади ба филтр ќатори JavaScript, ба шумо лозим аст барои аз нав танзимкунии дарозии он:

  • var myArray = [1, 2, 5, 23];
  • myArray.length = 0.

Зерин нишон медиҳад, татбиқи таъинот равшан (), дар як чаҳорчӯб, JavaScript-прототипи:

  • равшан Функсияи () {;
  • this.length = 0;
  • баргаштан аз ин;
  • }.

Илова ва аз кушода ҷузъҳои

Хуб, мо минбаъд низ ба омӯхтани ин забон минбаъдаи JavaScript шавқовар. элементи массиви имкон ва ба хориҷ ва илова ба мисли хосиятҳои анъанавии иншооти дигар. Лекин баъзе фарқиятҳо дорад: илова хосиятҳои, рақам ва дарозии сифати метавонанд фарқ, вале дар тағйир додани дарозии хосиятҳои метавон бартараф сифати ададӣ. Умуман, ҳамчун алгоритми насб дар рамзхо чунин аст:

  • Вақте ки илова кардани як хосиятҳои номаълум рақамии ман, агар дарозии баробар ва ё камтар аз ман аст, дарозии муайян карда ман + 1 аст.
  • Вақте, ки шумо тағйир додани сифати дарозии иҷрои чораҳои зерин: агар арзиши гузошта аз сифр кам бошад, он гоҳ афканда RangeError. Маҳв ҳамаи нишондиҳандаҳои сифати ададӣ, ки ба дарозии нав баробар, ва бузургтар аз мебошанд.

Дар асл хориҷ элементи массиви JavaScript оддӣ аст. Баъд аз ҳама, ҳатто гузоштани дарозии, ба шумо лозим аст, ки ба хориҷ ҷузъҳои «иловагӣ» аз он. Аз ин массиви хосият тоза аз паи. Агар тағйирёбанда аст, массиви холӣ нав, ки барои ҳар сабаб дода, буданд, қонеъ карда наметавонанд, ва он зарур аст, ки ба ҳолати кунунӣ, сифати он дарозии кофӣ барои таъини арзиши сифр аст.

усулҳои unshift, баст, поп ва кашидани

Сарфи назар аз он, ки ҷузъҳои аз массиви шудаанд дастӣ тағйир ёфта, бисёре аз тавсия ба истифода аз ин усул сохта-дар. Ин аст, ки ин nuance кафолат арзиши дурусти сифат ва набудани дарозии дар ағбаҳои саф аст. Бо роҳи, ба сифати дарозии дуруст ба шумораи ҷузъҳои мувофиқ бошанд.

Раванди бармеангезад, ки ба тела охири массиви интиқол адад аст. Поп бозгашт раванди компоненти ниҳоӣ медиҳад ва аз он дур мекунад.

Умуман, дар Internet Explorer зери нусхаи ҳаштум unshift метавонад баргардад номуайян, дар браузерҳои дигар - арзиши нави дарозии. Пас, ки арзиши бозгашт аз unshift беҳтар ба умед надоранд.

Ба илова ва бартараф намудани қитъаҳои дар мобайни массиви

Агар шумо хоҳед, ќатори JavaScript тоза, ба шумо лозим аст, ки мекунад? Маълум аст, ки тарзи дорад Array.prototype.splice имзо splice.

Ӯ аз ҷузъҳои массиви deleteCount withdraws, сар карда, бо оғози шохиси. Агар шумо бигзарад ва беш аз ду далел, ҳамаи далелҳои минбаъда дар саф дар ҷои барҳам ташкил шаванд. Агар оғози минуси аст, шохиси ки дар он барқарор хуруҷи ба дарозии баробар мешавад + оғоз. Бозгашт ба ќатори унсурҳои дурдаст мегирад.

Дар асл, бо истифода аз усули splice, мумкин аст, ки ба хориҷ ҷузъҳои аз миёнаҷои ќатори ё илова ягон рақами дилхоҳ дар саф.

Дар соддатарин embodiment, агар он зарур аст, ки ба хориҷ компоненти бо шохиси ман, ки массиви бояд талаб усули splice бо параметрҳои ман ва 1.

Умуман, варианти дуюм дар усули splice аст, ҳатмӣ нест, балки аз рафтори функсияи бо як далели барои ҳар як браузери гуногун аст.

Барои мисол, дар Firefox, опера дар охир вариантҳои, ҳамаи тафсилотҳои пеш аз ба охир расидани массиви мешаванд Сафари ва Chrome дур.

нест, ҷузъи ягонаи аст, ки дар IE бартараф карда шавад. Дар навъи аввал имконнопазир аст барои пешгӯии рафтори опера - мешавад як банди бо оғози шохиси хориҷ - 1. Пас, он аст, ҳамеша зарурї дар ин усул барои таҳвил дар на камтар аз ду қисмати.

калидҳои

Албатта, омӯзиш JavaScript, рамзхо ассотсиативии, чунон ки дар боло зикр, шумо низ бояд нест, нодида шавад. Ин назари реферат иттилоот (интерфейси ба мағоза маълумот), ки имкон медиҳад, ки ба ҷуз як ҷуфт аз шакли »(тугмачаи, арзиши)» ва фаъолияти илова як ҷуфт дастгирӣ, инчунин ҳазф ва ҷустуҷӯи ҷуфти асосӣ дар он аст:

- Пайдо (калиди).

- ҷойгир кунед (арзиши, тугмаи).

- Нест (калиди).

Гумон меравад, ки дар массиви ассотсиативии наметавонад ба ҷуз аз ду қисм бо калидҳои монанд. Дар як ҷуфти К + В.В. арзиши алоқаманд бо К асосӣ дар он аст. Semantics ва дар ин ҷо бо фаъолияти боло дар амалї гуногуни чунин рамзхо, метавонанд гуногун бошанд.

Ҳамин тавр, ЁФТА амалиёт (асосии) бозгаштан арзиши алоқаманд бо як калид дода, ё ба як UNDEF объекти мушаххас, ки маънои, ки арзиши алоқаманд бо як калид дода, хомӯш. Ду амали дигаре (ба истиснои маълумот дар бораи ки оё ин амалиёт муваффақ буд) барнагаштанд.

Умуман, дар робита ба интерфейси, аз массиви ассотсиативии аст, ки ҳамчун як массиви оддӣ дониста, ки дар он ба сифати нишондињандањои мумкин аст истифода бурда на танҳо рақамҳои бутуни, балки дигар намудҳои ва арзишҳои - масалан, хатҳои.

Ногуфта намонад, ки дастгирии барои чунин рамзхо мебошад муносибат бисёр забонҳои барномасозӣ сатҳи баланд ба монанди PHP, Perl, Руби, Python, Tcl, JavaScript ва дигарон вуҷуд дорад. Зеро ки забон, ки нест, воситаҳо сохта-дар ба кор бо рамзхо ассотсиативии, шумораи бузурги фурӯхтани дар шакли китобхонаҳои биёфарид.

Мисоли як массиви ассотсиативии метавонад ҳамчун як феҳрист телефонӣ хизмат мекунанд. Дар ин embodiment, ки арзиши таъин шудааст "Ф. IO + д ", ва ба тугмаи - рақами телефон. Як рақами телефон яке бошад, вале як шахс метавонад рақамҳои ҷамъро худ.

дароз алоқаманд

Бояд қайд кард, ки васеъшавии маъруф муҳимтар зеринро дар бар мегирад:

  • ХАР - «рафтор» оид ба ҳамаи сарфа ду қисм аст.
  • Clear - барои нест кардани ҳамаи сабтҳои.
  • Min - барои пайдо кардани як ҷуфт бо пасттарин арзиши асосии.
  • MAX - барои пайдо кардани як ҷуфт бо бузургтарин арзиши асосии.

Дар ду парвандаи охир ба шумо лозим аст, ки дар бораи калидҳои нишон таъсири нисбат.

Татбиқи рамзхо ассотсиативии

Бисёр амалї гуногуни массиви ассотсиативии нест. Татбиқи бештар маъмул мумкин аст дар массиви оддӣ, ки кадом компонентҳо мӯҳтоҷ астанд, ки ҷуфтҳои (тугмачаи арзиши) асос ёфтааст. Барои тезонидани вазифаҳои ҷустуҷӯӣ, шумо метавонед ҷузъҳои аз массиви як хулосаи асосии ташкил ва амалӣ намудани истифодаи ҷустуҷӯи дуӣ. Аммо аз он хоҳад буд, ки ба андозаи муддати лозима барои илова кардани ҷуфти нав зиёд карда, ба лозим ба «тела» ҷузъҳои массиви, ки зоҳир дар чашмаки холӣ ба бастабандӣ китобест тару тоза.

Татбиқи беҳтарин маълум, дар асоси дарахтон Ҷустуҷӯи гуногун. Масалан, дар як ҳуҷра хондани STL харитаи хос C ++ забони ядакҳо аст, дар асоси сиёҳ ва mahogany татбиқ карда мешавад. Дар Руби, сабкҳои, Tcl, Python истифода мебарад, як намуди мизҳои шудаи. ҳастанд, татбиқи дигар нест.

Дар маҷмӯъ, ҳар як татбиқи дорад, афзалиятҳо ва нуқсонҳои худро дорад. Муҳим аст, ки ҳар се амалиёти ба ҳисоби миёна иҷро шуданд, ва дар бадтарин давраи nuance дар бораи (систем о), ки дар он о - шумораи ҷорӣ ба наҷот номиналии. Барои дарахтони ҷустуҷӯӣ доир намуд (аз он ҷумла дарахтони сиёҳ ва сурх), ин ҳолати қаноатманд аст.

Маълум аст, ки дар амалї дар асоси љадвалњои шудаи, вақти миёнаи аст (1) D, беҳтар аз дар амал дар асоси дарахтони ҷустуҷӯӣ аст, ки муайян карда мешавад. Вориди вақт ва амал дар бадтарин ҳолат, denoted ҳамчун Эй (н): Албатта, ин тавр иҷро баландсуръати амалиёти алоҳида кафолат намедиҳад. Раванди Дохил кардани аст, ки барои муддати тӯлонӣ чун таносуби навбатдор баландтарин нуқтаи мерасад анҷом аст, ва зарурати таҷдиди индекс мизи шудаи нест.

Бо роҳи, ба ин изҳороти шудаи бад, ки дар ин замина ба он имконнопазир аст, ба иҷрои амалиёти фаврӣ иловагии MAX, мин, ва алгоритми барои ҷустуҷӯи сарфа ҷуфт дар тартиби камшавии ё сууд тугмаҳои.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 tg.atomiyme.com. Theme powered by WordPress.