KomputerPemrograman

JavaScript: fungsi fungsi. bahasa pemrograman JS

Ide-ide konten dinamis untuk membentuk web-SUMBER telah menjadi norma. halaman statis dan desain template Web akhirnya menyelesaikan misi mereka.

Namun, web-sumber daya modern tidak harus diwakili oleh satu set halaman yang dihasilkan oleh server dan refresh browser (JS + AJAX).

repositori berbasis web pada saat kedatangan pengunjung bisa beberapa judul untuk catatan, beberapa teks di «kepala», beberapa baris kode di «tubuh» dan semua. Sisa "hamil" dalam proses pengunjung - itu adalah situs yang ideal, atau bercita-cita untuk menjadi salah satu.

Tempatkan deskripsi dan sifat fungsi

опыт, наработаный многими десятилетиями. JavaScript - itu adalah dekade pengalaman narabotany. Ini memiliki sejarah yang signifikan dari pembangunan, modern tim yang berkualitas pencipta pengembang. Bahasa dipikirkan dengan baik, handal, indah dan memberikan kesempatan nyata bagi pengembang untuk menulis kode untuk perbaikan diri layak dan.

Konsep algoritma adalah fungsi di sini tidak ada pada prinsipnya. Tentu saja, pengembang dapat di manapun pada halaman untuk memasukkan kode script untuk dimasukkan ke dalamnya dan itu akan dieksekusi. страницы? Tapi apa gunanya dalam kode, yang dieksekusi hanya sekali: ketika loading (reload) halaman? Apakah mungkin untuk mengatur nilai awal dari apa yang beberapa variabel tidak signifikan.

Script - tempat ini adalah deskripsi yang tepat dari variabel dan fungsi, daripada sepotong baik dari kode yang ditulis untuk kepentingan sendiri. Ini adalah satu set fungsi sangat penting dan penting, mungkin - koneksi langsung bersama mereka, tetapi lebih sering itu berbeda. deskripsi tempat fungsi dan tempat penerapannya bukanlah hal yang sama.

Hal ini tidak perlu bahwa fungsi akan memanggil fungsi lain secara langsung, tetapi bisa dilakukan secara tidak langsung melalui pembentukan kode dinamis. Seorang pengunjung mengambil keputusan dalam kode ini dan bekerja fungsi sistem sangat berbeda.

dinamika fungsional

dinamika fungsional - tidak hanya dan tidak begitu banyak penangan ditugaskan untuk elemen halaman adalah fungsi yang membentuk elemen halaman, dan penangan segera, juga bisa berubah.

aksi terjadi pada halaman, tergantung pada unsur-unsur dan perilaku pengunjung di atasnya. Gerakan mouse, keyboard, tombol, klik, peristiwa, item dan keadaan lain menyebabkan peluncuran fungsi yang diperlukan.

Awalnya tidak ada konsistensi dan tidak ada paralel. Ada respon yang memadai terhadap peristiwa web-sumber daya. Seberapa cepat JavaScript memenuhi fungsi tertentu itu tergantung pada banyak teknis (komputer, jalur komunikasi) dan semantik (algoritma logika, mata pelajaran, yang berarti masalah) faktor.

Bahkan bisa dikatakan bahwa sesuatu telah bekerja secara paralel, tetapi sesuatu akan berubah setelah sesuatu, tapi makna khusus ini tidak. Adalah penting bahwa fungsi JavaScript - ini adalah kesempatan untuk membuat respon yang memadai terhadap tindakan pengunjung.

pemikiran ini baru dalam desain: didistribusikan pengolahan di kedalaman satu browser!

Sintaks untuk variabel dan fungsi

JavaScript-variabel ditempatkan di tag «naskah», dan dalam tubuh fungsi. Fungsi didefinisikan dengan cara yang sama. arti khusus untuk menulis dalam fungsi ada fungsi lain, tetapi mungkin diperlukan karena berbagai alasan, dan itu cukup masuk akal.

Deskripsi fungsi biasanya dimulai dengan kata kunci «fungsi», diikuti dengan namanya, daftar argumen dalam kurung, dipisahkan dengan koma, dan fungsi tubuh dalam kawat gigi.

Dalam contoh ini, dua fungsi dijelaskan yang menyediakan AJAX-tukar antara halaman dan server. Sebagian scXHR dijelaskan di atas, karena tersedia dalam InitXML, dan dalam WaitReplySC.

Nama fungsi dan parameter "fungsi"

Ada telah disajikan versi asynchronous ketika fungsi JavaScript-fungsi disebut setelah respon server. Dengan demikian, menerima respon dari server, WaitReplySC mengakses tag halaman, mengisi informasi yang diterima dan menyebabkan fungsi lainnya, yang mungkin memulai permintaan berikutnya ke server.

Di sini juga penting untuk dicatat bahwa WaitReplySC - fungsi. scXHR.onreadystatechange = WaitReplySC она передается как параметр. Namun sejalan scXHR.onreadystatechange = WaitReplySC itu dilewatkan sebagai parameter. Ini fungsi transfer aturan umum untuk fungsi lain sebagai parameter. kurung runcing dan memberi mereka parameternya (s) - fungsi akan dieksekusi segera. Diriwayatkan oleh nama saja, baik jadi apa. fungsi panggilan akan membuat orang yang mendapat namanya.

Fungsi diimplementasikan melalui AJAX, memungkinkan Anda untuk memanggil fungsi JavaScript melalui data yang diterima dari server. Bahkan, mengirim permintaan ke server, satu atau fitur lain mungkin tidak sama sekali "tahu" yang berfungsi ia berbalik, dan dengan informasi apa.

fungsi dan hasilnya

Tubuh fungsi, Anda dapat menulis operator bahasa, yang, pada kenyataannya, untuk itu dimaksudkan. fitur di dalam yang variabel dideklarasikan di dalam dan di luar, tapi bukan mereka yang dijelaskan dalam fungsi lainnya.

Jika Anda ingin fungsi untuk mengembalikan hasil, Anda dapat menggunakan pernyataan JavaScript kembali: kembali. Tubuh fungsi mungkin dalam jumlah yang memadai pernyataan kembali. Hal ini tidak perlu bahwa semua dari mereka akan mengembalikan hasil dari jenis yang sama.

Biasanya, pengembang dihormati kesempatan ini dan, tergantung pada situasi, memutuskan untuk menarik diri dari fungsi sesegera mungkin.

Hal ini tidak perlu untuk menjalankan melalui seluruh algoritma fungsi, ketika Anda bisa keluar lebih awal.

argumen fungsi

Argumen dilewatkan ke daftar fungsi, dipisahkan oleh koma, diapit kurung, dan hanya setelah namanya. Argumen yang digunakan nama variabel, tetapi Anda dapat melewati nilai-nilai secara langsung. Untuk lulus fungsi JavaScript dalam suatu fungsi, Anda hanya perlu menentukan nama tanpa tanda kurung.

Dalam fungsi tersedia argumen variabel, yang memiliki properti panjang. Anda dapat merujuk ke fungsi argumen melalui argumen [0], argumen [1], ... untuk argumen terakhir [arguments.length-1].

Mengubah fungsi argumen ini benar-benar dalam fungsi tapi tidak di luar itu. Dalam rangka untuk mengubah sesuatu di luar fungsi, operator harus menggunakan kembali JavaScript, melalui yang lulus nilai yang diperlukan ke luar.

Setelah fungsi selesai, semua yang terkait dengan pelaksanaannya, akan hancur. Selama pelaksanaan fungsi dapat mengubah variabel eksternal, kecuali yang dijelaskan dalam fungsi lainnya, termasuk yang di pedalaman.

Kami memiliki argumen callee properti, yang dimaksudkan untuk memanggil fungsi yang dilakukan pada waktu tertentu. Jika penyebab itu sendiri, versi JavaScript fungsi dalam fungsi akan menerapkan rekursi.

menggunakan fungsi

Perhatian utama dari fungsi - untuk melayani acara browser. Untuk melakukan hal ini hampir setiap tag memiliki kemampuan untuk menentukan nama acara dan fungsi manufaktur. Anda dapat menentukan beberapa peristiwa, tetapi masing-masing acara diindikasikan hanya satu fungsi.

Salah satu fungsi dapat menangani beberapa elemen halaman dan beberapa peristiwa. Melalui opsi ini «», Anda dapat mentransfer fungsi informasi di mana itu disebut.

Penggunaan klasik JS-fungsi - acara penangan pada elemen. Dalam contoh ini scfWecomeGo () fungsi atau scfWelcomeCancel () disebut dalam bentuk input / output dari pengunjung, dan ketika memilih mode operasi scfMenuItemClick (ini).

Dalam kasus terakhir, parameter dilewatkan ke «ini», yang memungkinkan Anda untuk secara ajaib belajar dari apa yang diva disebut. Sebenarnya, JavaScript sehingga kualitatif ditanamkan dalam DOM, dan hal tersebut sangat nyaman memungkinkan Anda untuk menavigasi unsur-unsurnya, untuk mengumpulkan informasi yang diperlukan bahwa halaman dinamika hanya dapat diprediksi.

fungsi tidak harus kembali string, angka, atau fungsi lainnya. Hal ini dapat mengembalikan penuh HTML-elemen, dan yang jumlah yang diperlukan elemen, dengan penangan mereka, acara mereka.

Dengan menempatkan elemen pada halaman, pengembang menciptakan fungsi baru yang baik dalam hal memecahkan masalah dan memenuhi kepentingan pengunjung, tapi cukup sulit dalam hal implementasi.

Karena perkembangan tersebut berfungsi penuh, mudah untuk tersesat dalam kode asli, dalam panggilan fungsi, di saat-saat ketika dibentuk atau bahwa isi dari satu atau lain dari halaman. Sebelum mengambil arah seperti pembangunan, tidak menghalangi baik menimbang segalanya.

Pada distribusi pemikiran

pengembang harus berpikir pada tingkat semua elemen halaman, di semua acara, dan memiliki presentasi yang jelas tentang bagaimana segala sesuatu benar-benar terjadi. Hal ini sulit, tapi pekerjaan yang layak.

Dalam JavaScript, fungsi mungkin tertunda hingga beberapa peristiwa, dan fitur tersebut mungkin banyak, dan peristiwa memiliki kecenderungan untuk menyebar dan masuk ke dalam "lingkup visibilitas" dari berbagai prosesor.

Dalam contoh ini, di suatu tempat sebelum fungsi dipanggil, yang diprakarsai menu navigasi berkas barang. Hal ini diasumsikan paging, yaitu di jendela hanya tujuh file, yang dapat dihapus dan diproses. Dapat dipindahkan sebagai file dengan mengklik baris, dan tombol panah dan blok dari tujuh baris.

Dalam setiap kasus memiliki fungsi tersendiri. Dengan kata lain, dalam contoh sederhana ini, Anda perlu menulis beberapa puluhan fitur yang akan bereaksi terhadap berbagai acara, dan beberapa fungsi-fungsi ini akan menangani berbagai pilihan dan situasi bahwa peristiwa itu bukan milik.

Misalnya, saat melepas garis bawah harus mengungsi ke atas. Hal ini akan membutuhkan baik membuat pilihan baru yang lumrah dan jelas sumber daya, atau untuk menghitung garis, menggunakan fungsi javascript pada array dan untuk mencapai tujuan yang elegan.

Argumen dan hasil dari fungsi

JavaScript memungkinkan Anda untuk membawa kode untuk status "fitur lengkap". Biasanya, ketika argumen dari fungsi ini fungsi. Opsi diperbolehkan, fungsi mengembalikan fungsi. JavaScript dibutuhkan cukup tenang.

Ini adalah mekanisme yang baik, tapi agak rumit dalam kaitannya dengan implementasi. Secara teknis diperbolehkan semantik memberikan "fungsional" logika transmisi hanya dengan pengembang yang memenuhi syarat.

Ketika fungsi JavaScript dalam suatu fungsi - baiklah, tapi ketika fungsi menghasilkan fungsi, dan yang lain, logika yang cukup sulit untuk diikuti. Bahkan, pertanyaannya adalah bukan apakah untuk menerapkan keterampilan, pertanyaannya adalah untuk mendapatkan hasil yang aman dan benar.

perawatan pengembang jelas dan sederhana. Ada masalah, Anda perlu solusi, bukan bug seperti «kesalahan JavaScript operasi tidak aman» , layar kosong, atau menghentikan semua mesin browser.

Jika argumen adalah fungsi, maka pengembang untuk lulus variabel dengan sifat khusus, yang bukan nomor, bukan string, bukan obyek. Tetapi penggunaan argumen tersebut dapat mengarah pada fakta bahwa mengubah variabel eksternal dan merupakan hasil dari eksekusi fungsi. Tergantung pada perubahan yang akan memadai ditransfer.

Pelaksanaan kode yang dihasilkan

Menerapkan kode eksekusi yang dihasilkan dalam program kerja kode lain, adalah mungkin dengan cara «eval». Hal ini tidak dianggap sebagai solusi yang sangat baik, tetapi sering tidak dapat mempersulit kode dengan fungsi yang tidak perlu, dan untuk membatasi pembentukan garis sepele kode JavaScript dan hanya melaksanakannya.

Dalam contoh ini, insert dibentuk stitch ke div dioperasikan beberapa informasi. Diva dan konten informasi untuk nomor yang berbeda dari posisi yang berbeda, karena keputusan seperti dalam situasi ini tidak menyediakan dijamin situasi «javascript kesalahan operasi tidak aman» , tapi tegas memberikan efek yang diinginkan.

Nuansa JavaScript paradigma pergeseran "fungsi dalam fungsi"

Jika Anda dapat melakukannya tanpa embel-embel, lebih baik untuk menggunakannya. Semua pilihan ini baik. Tentu saja, dalam banyak kasus, itu adalah satu-satunya solusi.

Sebuah contoh klasik dari rekursi: faktorial. Ini cukup sulit untuk menulis sebuah algoritma yang akan loop, tapi sangat sederhana, Anda dapat mendorong nilai-nilai amplop. Faktorial tumbuh terlalu cepat.

Namun, rekursi, dan fungsi panggilan fungsi lain, yang dapat membuat informasi callback - hal yang normal.

Misalnya, meja biasa. Meja lain mungkin meja. Nesting tidak dapat dibatasi. Menulis untuk setiap tabel mengatur sendiri fitur - terlalu banyak mewah.

Contoh-contoh seperti banyak, dan semua ini akan menjadi masalah yang nyata dan mendesak, bukan karena pemrograman. Itulah mengapa masalah terletak pada kenyataan bahwa tidak ada embel-embel tidak menyiapkan sistem fungsi, lebih tepatnya, debugging dan operasi yang handal selanjutnya menjadi perawatan JavaScript, dan Developer.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 id.birmiss.com. Theme powered by WordPress.