Компьютер, Програмчлалын
JavaScript: функц үйл ажиллагаа. Програмчлалын хэл JS
вэб Resources байгуулах санаа динамик агуулга хэм хэмжээ болж байна. Статик хуудас, загвар Вэб дизайн эцэст нь тэдний номлолд дууссан.
Гэсэн хэдий ч, орчин үеийн вэб нөөц сервер бий хуудсуудын багц төлөөлж байх ёстой ба хөтчийг (JS + AJAX) сэргээдэг байна.
зочин ирэх тэр агшинд Вэб-д суурилсан архивын бүртгэл хувьд цол хэргэм хэд хэдэн «толгой» зарим нэг текст, «бие» болон бүх кодын хэд хэдэн мөр байж болох юм. Үлдсэн зочин явцад "бодох" - энэ нь хамгийн тохиромжтой сайт юм, эсвэл нэг болгохыг зорино.
чиг үүргийн тодорхойлолт, шинж чанарыг байрлуул
опыт, наработаный многими десятилетиями. JavaScript - энэ нь туршлага narabotany арван жилийн байна. Энэ нь боловсруулах, орчин үеийн шаардлага хангасан баг бүтээгчид хөгжүүлэгчид нь чухал ач холбогдолтой түүхтэй. Хэл сайн, найдвартай, сайхан, бодож болон хөгжүүлэгчид нь сайн, өөрөө өөрийгөө сайжруулах код бичих нь бодит боломжийг олгож байна.
нь алгоритм тухай ойлголт зарчмын хувьд үйл ажиллагаа нь энд байхгүй байгаа юм. Мэдээж хэрэг, хөгжүүлэгч хаана ч хуудсан дээр нь түүн уруу тавих скрипт код оруулах ба энэ нь гүйцэтгэх болно гэж болно. страницы? Гэхдээ хууль, зөвхөн нэг удаа гүйцэтгэсэн байна дэх цэг гэж юу вэ: ачаалах үед (дахин ачих) хуудсыг? Энэ нь боломжтой юу зарим нь ач холбогдолгүй хувьсагчдын анхны утгуудыг тохируулах явдал юм.
Скрипт - энэ газар өөрийн тусын тулд зориулж бичсэн кодын сайн хэсэг нь хувьсагчуудын, чиг үүргийг зөв тодорхойлолт, илүү байдаг. тэдний харилцан шууд холболт, гэвч энэ нь ихэнхдээ өөр - Энэ чиг үүргийг нь тогтоосон байж магадгүй, чухал, чухал юм. үйл ажиллагаа, түүний хэрэглээний оронд газар тодорхойлолт адил зүйл биш юм.
Энэ нь үйл ажиллагаа шууд өөр үйл ажиллагаа гэж нэрлэдэг гэсэн зайлшгүй шаардлагатай биш юм, гэхдээ энэ нь динамик код үүсэх дамжуулан шууд бусаар хийж болно. Зочин энэ хуулийн хүрээнд шийдвэр авч, огт өөр системийн үйл ажиллагааг ажилладаг.
үйл ажиллагааны динамик
Чиг үүрэг динамик - нь зөвхөн биш, хуудсанд элементүүдийн оноосон маш их боловсруулж буй хуудасны элементүүдийг бий, мөн нэн даруй хөтлөгч нь ч бас өөрчлөх боломжтой үйл ажиллагаа юм.
үйл ажиллагааны үүн дээр элемент, жуулчдын зан хамааран хуудсан дээр явагддаг. хулгана, гар, товч, дарах, үйл явдал, эд зүйлс болон бусад нөхцөл байдлыг хөдөлгөөн чухал функцуудын ажиллуулахад хүргэдэг.
Анх ямар ч уялдаа байхгүй, ямар ч параллель байна. вэб нөөцийн үйл явдалд зохих хариу арга хэмжээ байдаг. хурдан JavaScript тодорхой чиг үүргийг хангаж хэрхэн хүчин зүйл (асуудал гэсэн утгатай, логик алгоритмийн шалгах газар) маш олон техник (компьютер, харилцаа холбооны шугам) болон семантик хамаарна.
Үнэн хэрэгтээ энэ нь ямар нэг зүйл зэрэгцэн ажиллаж байсан гэж байгаа ч ямар нэг зүйл ямар нэг зүйлийг дараа нь эргүүлэх болно, гэхдээ энэ онцгой утга биш юм үзэж болно. Энэ нь зочин-ийн үйл ажиллагаанд зохих хариу арга бий болгох боломж юм - энэ нь JavaScript функц нь чухал юм.
нэг хөтөч гүнд тархсан боловсруулах: дизайны Энэ шинэ сэтгэлгээ!
хувьсагчийн, чиг синтакс
JavaScript-хувьсагчууд хаяг «скрипт» байрлуулж, мөн үйл ажиллагаа биед байдаг. Чиг үүрэг ижил арга замыг тодорхойлно. Тусгай утга нь өөр функц байдаг функцийн дотор бичиж, гэхдээ энэ нь янз бүрийн шалтгааны улмаас шаардлагатай байж болох ба энэ нь маш үндэслэлтэй юм.
функцийн тодорхойлолт ерөнхийдөө түлхүүр үг "үйл ажиллагаа» эхэлдэг өөрийн нэрээр, дараа нь хаалтанд нэмэлт өгөгдлүүд, таслалаар тусгаарлагдсан жагсаалт, болон хаалт д үйл ажиллагаа байгууллага.
Энэ жишээн дээр, хоёр үүрэг гүйцэтгэнэ хуудас болон серверийн хооронд AJAX-солилцоог хангах гэж тодорхойлсон байна. Ихэвчлэн scXHR аль аль нь InitXML байгаа учраас, мөн WaitReplySC дотор дээр дурдсан.
функцийн нэр ба параметрүүдийн "үйл ажиллагаа"
JavaScript функц нь функц сервер хариу дараа дуудсан үед нь асинхрон хувилбарыг бий танилцуулсан байна. Тиймээс серверээс хариу хүлээн авах, WaitReplySC хуудас хаяг, хандахыг хүлээн авсан мэдээллийг дүүргэх болон бусад чиг үүрэг, сайн сервер рүү дараагийн хүсэлтийг санаачилж болно шалтгаан болж байна.
функц - Энд тэр WaitReplySC анхаарах нь чухал юм. scXHR.onreadystatechange = WaitReplySC она передается как параметр. Харин шугам scXHR.onreadystatechange = WaitReplySC онд параметрийн гэж баталсан байна. параметрүүд зэрэг бусад чиг үүрэг Энэ ерөнхий дүрэм дамжуулах үйл ажиллагаа. үйл ажиллагаа нэн даруй гүйцэтгэх болно - үзүүртэй хаалт, тэдэнд өөрийн параметрийг (үүд) өгсөн. Зөвхөн сайн болохоор ямар нэрээр нь өгүүлсэн. Дуудлага функц түүний нэрийг авсан нэгийг нь хийх болно.
AJAX дамжуулан хэрэгжүүлж ажиллагаа, та серверээс хүлээн авсан өгөгдлийг дамжуулан JavaScript функцийг дуудах боломжийг олгодог. Үнэн хэрэгтээ, сервер, нэг буюу бусад онцлог нь бүх "мэдэхгүй" байж болох тэр эргэж, ямар мэдээлэл нь үйл ажиллагаа явуулах хүсэлт илгээх.
Out үйл ажиллагаа, түүний үр дүн
үйл ажиллагаа нь бие, та ямар ч хэл оператор, үнэн хэрэгтээ үүн зориулагдсан юм бичиж болно. Дотор онцлог хувьсагч дотор, гадна зарласан байгаа ч бусад чиг үүргийг тодорхойлсон гэж байгаа хүмүүс биш.
Та үйл ажиллагаа нь үр дүнг буцаах хүсэлтэй байгаа бол, та JavaScript буцах мэдэгдэл ашиглаж болно: өгөөж. үйл ажиллагааг бие буцах тайлангийн хангалттай тоо байж болох юм. Энэ бүгдийг нь ижил төрлийн үр дүнг харуулах болно гэдгийг зайлшгүй шаардлагатай биш юм.
Ер нь, хөгжүүлэгчид энэ боломжийг хүндэтгэдэг бөгөөд, нөхцөл байдлаас хамааран, аль болох богино хугацаанд үйл ажиллагаа татгалзах шийдвэр гаргадаг.
Энэ чиг үүргийг бүхэлд нь алгоритм дамжуулан ажиллуулах шаардлагатай биш юм, хэзээ та өмнө нь гарч болно.
үйл ажиллагаа нэмэлт өгөгдлүүд нь
Аргумент үйл ажиллагаа жагсаалтыг таслалаар тусгаарлагдсан дамжуулагдана, хаалтанд хаалттай бөгөөд зөвхөн түүний нэрээр байдаг. нэмэлт өгөгдлүүд нь хувьсагчийн нэрийг ашиглаж, гэхдээ та шууд утга дамжуулж болно. Функц нь JavaScript үйл ажиллагааг нэвтрүүлэх, та зүгээр л хаалтад ч түүний нэрийг зааж өгөх хэрэгтэй.
функцийн дотор байгаа хувьсагч аргумент нь урт нь эд хөрөнгө байдаг юм. Та нэмэлт өгөгдлүүдтэй дамжуулан ямар ч баталгаа чиг лавлана болно [0], нэмэлт өгөгдлүүд нь [1], ... сүүлийн нэмэлт өгөгдлүүд нь [arguments.length-1].
нотолгооны үйл ажиллагааг өөрчлөх Хэрэв гадна үнэхээр функц дотор ч биш юм. үйл ажиллагаанаас гадуур ямар нэг зүйлийг өөрчлөхийн тулд, оператор дамжуулан гадна шаардлагатай утгыг өнгөрч, JavaScript өгөөжийг ашиглах ёстой.
үйл ажиллагаа дууссаны дараа түүнийг хэрэгжүүлэхтэй холбоотой юм бүхэн, устгагдах болно. үйл ажиллагааг хэрэгжүүлэх явцад бусад чиг үүрэг, дотоодод байгаа тэр дундаа-д тайлбарласан байгаа бусад гадаад хувьсагчуудыг өөрчлөх болно.
Бид аргумент callee эд хөрөнгө, тухайн үед хийж байгаа үйл ажиллагааг дуудах зорилготой юм байна. шалтгаан нь өөрөө бол функц үйл ажиллагаа JavaScript хувилбар рекурсын хэрэгжүүлнэ.
чиг үүргийг ашиглах
үйл явдал хөтчийг үйлчлэх - үйл ажиллагааны гол санаа зовоосон асуудал. Энэ нь бараг бүх хаяг хийхийн тулд өөрийн үйлдвэрлэлийн үйл явдал нэр, үйл ажиллагааг тодорхойлох чадвартай байдаг. Та олон үйл явдлыг зааж өгч болно, гэхдээ үйл явдал тус бүр нь зөвхөн нэг функцыг заасан байна.
Нэг нь үйл ажиллагаа нь олон хуудас элементүүдийг болон хэд хэдэн үйл явдлыг зохицуулах болно. «Энэ» сонголтыг дамжуулан та гэж нэрлэдэг байсан мэдээллийн үйл ажиллагааг шилжүүлж болно.
ИС- чиг сонгодог хэрэглээ - элементүүд дээр үйл явдалд хэрхэн. Энэ жишээн дээр scfWecomeGo () функц эсвэл scfWelcomeCancel () зочин нь оролт / гаралт хэлбэрээр гэж нэрлэдэг бөгөөд энэ нь үйл ажиллагааны горимыг scfMenuItemClick (энэ) сонгохдоо.
Сүүлийн тохиолдолд, өнгөрсөн параметр нь «энэ», та гайхамшигтайгаар гэж нэрлэдэг байсан юм дива суралцах боломжийг олгодог байна. Үнэндээ JavaScript тул Dom-д чанарын суулгасан бөгөөд энэ нь маш тав тухтай та хуудас динамик зүгээр л урьдчилан таамаглах боломжгүй байж болно гэсэн шаардлагатай мэдээллийг цуглуулах, түүний элементүүдийг жолоодож боломжийг олгодог байна.
функц нь мөр, дугаар, болон бусад үйл ажиллагааг буцаж байна. Энэ нь бүрэн HTML-элементийг буцаж болно, мөн тэдний хөтлөгч, тэдгээрийн үйл явдал нь элементийн шаардлагатай тоо юм.
хуудсан дээр элементийг байрлуулах замаар, хөгжүүлэгч асуудлыг шийдвэрлэх болон зочдын сонирхолд нийцсэн хувьд сайн боловч хэрэгжилтийн хувьд маш хэцүү байдаг шинэ үйл ажиллагааг бий болгож байна.
хөгжлийн оноос хойш ийм бүрэн ажиллагаатай хялбар уугуул код, үйл ажиллагаа дуудлага онд байгуулагдсан үед мөчүүдэд, алдсан эсвэл авах нэг эсвэл хуудасны өөр агуулгыг. хөгжлийн ийм чиглэлийг авч өмнө нь сайн бүхнийг жинтэй саад болохгүй.
сэтгэлгээний хуваарилалт
хөгжүүлэгч бүхий л арга хэмжээнд хуудасны бүх элемент, түвшинд бодож, бүх зүйл нь үнэндээ яаж болдог талаар тодорхой танилцуулгыг байх ёстой. Энэ нь хэцүү байдаг, гэхдээ ажил энэ нь үнэ цэнэтэй юм.
JavaScript онд үйл ажиллагаа нь зарим тохиолдолд хүртэл хойшлогдож байж болох, ийм боломжууд нь олон байж болох ба үйл явдал тархаж, янз бүрийн процессор нь "алсын барааны харагдац хүрээнд" орох хандлагатай байдаг.
Энэ жишээн дээр, үйл ажиллагаа гэж нэрлэдэг байсан хаа нэгтээ өмнө нь нэг зүйл нь файлын навигацийн цэс санаачилсан. Энэ нь зүгээр л долоон файлууд, устгаж болон боловсруулсан болно цонхонд байгаа пейжерийн үздэг. долоон эгнээ эгнээнд дээр дарж файл, сумтай товч ашиглан блок болгон шилжиж болно.
Тохиолдол бүрт өөрийн гэсэн функцтэй. Өөрөөр хэлбэл, энэ нь энгийн жишээн дээр, та янз бүрийн үйл явдалд хариу үйлдэл болно онцлог нь арван хэдхэн бичих хэрэгтэй, эдгээр үйл ажиллагааны зарим тохируулгууд болон нөхцөл байдалд үйл явдал харьяалагдах биш үү нь төрөл бүрийн зохицуулах болно.
Жишээ нь, доод мөрийг арилгахад үед upwardly нүүлгэн байх ёстой. Энэ нь шаардлагатай болно бас нэг нөөц тугээмэл шинэ сонголт, тодорхой болгох, эсвэл шугам тоолж, массив дээр JavaScript функцийг ашиглах, гоёмсог зорилгодоо хүрэхийн тулд.
нэмэлт өгөгдлүүд болон үйл ажиллагааны үр дүн
JavaScript та "бүрэн боломжуудтай" байдал кодыг авчрах боломжийг олгодог. Ер нь, хэзээ функцийн аргумент үйл ажиллагаа юм. Зөвшөөрөгдсөн сонголт, үйл ажиллагаа нь үйл ажиллагаа буцаана. JavaScript маш тайвнаар үүнийг авдаг.
Энэ нь сайн механизм, харин хэрэгжүүлэх талаар бус харин хүндрэлтэй байна. Техникийн зөвшөөрөгдөх бүдүүвчлэх нь зөвхөн чадварлаг хөгжүүлэгч "чиг үүргийн" логик нь дамжуулах хангах.
Хэзээ функц нь JavaScript функц - Бүх эрх, гэхдээ үйл ажиллагаа нь үйл ажиллагааг үүсгэдэг, мөн өөр гэж логик дагах нь маш хэцүү байдаг. Үнэн хэрэгтээ, асуулт ур чадварыг ашиглах, асуулт, аюулгүй, зөв үр дүнг олж авах юм уу биш юм.
Хөгжүүлэгч тусламж нь цэвэрхэн ба хялбар юм. асуудал байдаг, та шийдэл хэрэгтэй шиг биш, алдаа «JavaScript алдаа үйл ажиллагаа нь аюултай юм» , хоосон дэлгэц, эсвэл бүх хөтөч хөдөлгүүрийг зогсоох.
аргумент нь функц, дараа нь тусгай шинж чанар бүхий хувьсагч өнгөрөх хөгжүүлэгч бол гэсэн тоо биш, мөр биш, обьект биш юм. Гэхдээ ийм маргаан ашиглах гадаад хувьсагчуудыг өөрчлөх, үйл ажиллагаа хэрэгжүүлэхэд үр дүн юм үнэндээ хүргэж болно. шилжүүлсэн хангалттай байх болно өөрчлөлтөөс хамааран.
бий код гүйцэтгэл
ажил бусад кодын явцад бий гүйцэтгэл кодыг хэрэгжүүлэх, энэ нь «EVAL» аргаар боломжтой юм. Энэ нь шаардлагагүй чиг үүрэг бүхий кодыг хүндрүүлж болохгүй, JavaScript код ердийн шугамын үүсэхээс хязгаарлах, зүгээр л түүнийг ажиллуулж маш сайн шийдэл гэж үзэж байгаа бол, гэхдээ ихэвчлэн.
Энэ жишээн дээр, оруулах зарим мэдээллийг ажиллагаатай DIV руу оёдлоор үүсдэг. Diva, янз бүрийн албан тушаалд өөр өөр хэд хэдэн мэдээллийн агуулга, энэ нөхцөлд ийм шийдвэр нь баталгаатай байдлыг «JavaScript алдаа үйл ажиллагаа нь аюултай юм» хангаж үг биш, учир нь , харин баттай хүссэн нөлөө өгч байна.
Аяс JavaScript парадигм өөрчлөх "функц үйл ажиллагаа"
Та frills юу ч хийж чадах юм бол, үүнийг ашиглах нь зүйтэй юм. Эдгээр бүх тохируулгуудыг бүгдийг сайн байна. Мэдээж хэрэг, ихэнх тохиолдолд, энэ нь зөвхөн шийдэл юм.
рекурсын нь сонгодог жишээ: чин з йлийн. Энэ давталт нь алгоритмыг бичих хангалттай хэцүү, гэхдээ энэ нь та дугтуй утгыг түлхэж болно, маш энгийн юм. Хүчин зүйлээс хэтэрхий хурдан өсч байна.
хэвийн зүйл - Гэсэн хэдий ч, рекурсын болон функц мэдээлэл Гэдрэг хийж чадах өөр нэг үйл ажиллагаа, дууддаг.
Жишээ нь, тогтмол хүснэгт. бусад хүснэгт хүснэгт байж болох юм. Үүрлэх хязгаарлаж болохгүй. хэт их тансаг - ширээн бүрийн боломжуудыг өөрийн багц бич.
Ийм жишээ олон байдаг ба энэ бүх учир програмчлалын биш, бодит болон тулгамдсан асуудал байх болно. асуудал нь яагаад ямар ч frills үйл ажиллагааны системийг тавих хэрэггүй гэдгийг оршдог юм, илүү нарийн, түүний дибаг хийх ба дараагийн найдвартай үйл ажиллагаа JavaScript тусламж, ба хөгжүүлэгчийн болдог.
Similar articles
Trending Now