KomputerPengaturcaraan

JavaScript: fungsi fungsi. bahasa pengaturcaraan JS

Idea-idea kandungan dinamik untuk membentuk web RESOURCES telah menjadi norma. laman statik dan reka bentuk template Web akhirnya siap misi mereka.

Walau bagaimanapun, web-sumber moden tidak perlu diwakili oleh satu set halaman yang dihasilkan oleh pelayan dan muat semula penyemak imbas (JS + AJAX) itu.

berasaskan web repositori pada saat kedatangan pengunjung boleh menjadi beberapa tajuk untuk rekod, beberapa teks dalam «kepala», beberapa baris kod dalam «badan» dan semua. Selebihnya "hamil" dalam proses pengunjung - ia adalah satu tapak yang sesuai, atau bercita-cita untuk menjadi satu.

Meletakkan penerangan dan jenis fungsinya

опыт, наработаный многими десятилетиями. JavaScript - ia adalah satu dekad pengalaman narabotany. Ia mempunyai sejarah penting pembangunan, moden pasukan yang berkelayakan pencipta pemaju. Bahasa berfikiran baik, boleh dipercayai, yang indah dan memberikan peluang yang sebenar bagi pemaju untuk menulis kod untuk yang baik dan diri penambahbaikan.

Konsep algoritma adalah satu majlis di sini tidak wujud dalam prinsip. Sudah tentu, pemaju di mana-mana halaman boleh memasukkan kod skrip untuk dimasukkan ke dalam dan ia akan dilaksanakan. страницы? Tetapi apa gunanya kod, yang dilaksanakan hanya sekali: apabila memuatkan (tambah nilai) halaman? Adakah mungkin untuk menetapkan nilai awal daripada apa yang beberapa pembolehubah tidak penting.

Script - tempat ini adalah keterangan yang betul pembolehubah dan fungsi, dan bukannya bahagian yang baik kod ditulis semata-mata. Ia adalah satu set fungsi adalah penting dan penting, mungkin - sambungan terus bersama mereka, tetapi lebih kerap ia adalah berbeza. Huraian Tempat fungsi dan tempat pemakaiannya bukan perkara yang sama.

Ia tidak perlu bahawa majlis itu akan memanggil fungsi yang lain secara langsung, tetapi ia boleh dilakukan secara tidak langsung melalui pembentukan kod dinamik. Seorang pelawat mengambil keputusan dalam tempoh kod ini dan kerja-kerja fungsi sistem agak berbeza.

dinamik berfungsi

dinamik berfungsi - bukan sahaja dan tidak begitu banyak Pengendali diberikan kepada elemen halaman adalah fungsi yang membentuk elemen halaman, dan pengendali serta-merta, juga, boleh berubah.

Tindakan itu berlaku di muka, bergantung kepada unsur-unsur dan tingkah laku pelawat di atasnya. Pergerakan tetikus, papan kekunci, butang, klik, peristiwa, barangan dan keadaan lain membawa kepada pelancaran fungsi yang diperlukan.

Asalnya tidak ada konsisten dan tidak ada selari. Terdapat satu tindak balas yang mencukupi kepada peristiwa-peristiwa web-sumber. Berapa cepat JavaScript memenuhi fungsi tertentu ia bergantung kepada banyak teknikal (komputer, talian komunikasi) dan semantik (algoritma logik, mata pelajaran, bermakna masalah) faktor.

Malah ia boleh dikatakan bahawa sesuatu yang telah bekerja secara selari, tetapi sesuatu yang akan berubah selepas sesuatu, tetapi maksud ini khas tidak. Ia adalah penting bahawa fungsi JavaScript - ia adalah satu peluang untuk membuat respons yang mencukupi untuk tindakan pengunjung.

Ini pemikiran baru dalam reka bentuk: diedarkan pemprosesan di kedalaman pelayar tunggal!

Sintaks untuk pembolehubah dan fungsi

JavaScript-pembolehubah diletakkan di dalam tag «skrip», dan dalam badan fungsi. Fungsi ditakrifkan cara yang sama. makna khas untuk menulis dalam majlis itu terdapat fungsi lain, tetapi ia perlu bagi pelbagai sebab, dan ia agak munasabah.

Penerangan fungsi yang biasanya bermula dengan kata kunci «fungsi», diikuti oleh namanya, senarai argumen dalam kurungan, dipisahkan dengan koma, dan badan fungsi dalam penyokong gigi.

Dalam contoh ini, dua fungsi diterangkan yang menyediakan AJAX pertukaran antara halaman dan pelayan. Sebahagiannya scXHR diterangkan di atas, kerana terdapat di kedua-dua InitXML, dan dalam WaitReplySC.

Nama fungsi dan parameter "fungsi"

Terdapat telah dibentangkan versi asynchronous apabila fungsi JavaScript fungsi dipanggil selepas tindak balas pelayan. Oleh itu, menerima maklum balas dari pelayan, WaitReplySC mengakses tag halaman, mengisi maklumat yang diterima dan menyebabkan fungsi-fungsi lain, yang juga boleh membuat permintaan di sebelah pelayan.

Di sini ia juga penting untuk ambil perhatian bahawa WaitReplySC - fungsi. scXHR.onreadystatechange = WaitReplySC она передается как параметр. Tetapi selaras scXHR.onreadystatechange = WaitReplySC ia diluluskan sebagai parameter. Ini umum fungsi pemindahan peraturan untuk fungsi-fungsi lain sebagai parameter. kurungan tajam dan memberikan mereka parameter (s) - majlis itu akan dilaksanakan serta-merta. Diriwayatkan oleh nama sahaja, baik jadi apa. fungsi panggilan akan membuat orang yang mendapat namanya.

Fungsi dilaksanakan melalui AJAX, membolehkan anda untuk memanggil fungsi JavaScript melalui data yang diterima dari pelayan. Malah, menghantar permintaan kepada pelayan, satu atau ciri lain mungkin tidak sama sekali "tahu" yang berfungsi dia bertukar, dan dengan apa maklumat.

fungsi keluar dan hasilnya

Badan fungsi, anda boleh menulis apa-apa pengendali bahasa, yang, sebenarnya, kerana ia dimaksudkan. ciri di dalam adalah pembolehubah diisytiharkan dalam dan di luar, tetapi tidak orang-orang yang dinyatakan dalam fungsi-fungsi lain.

Jika anda mahu fungsi untuk mengembalikan hasil, anda boleh menggunakan penyata pulangan JavaScript: balasan. Badan fungsi yang berkenaan yang mencukupi penyata pulangan. Ia tidak perlu bahawa semua daripada mereka akan kembali hasil daripada jenis yang sama.

Biasanya, pemaju dihormati peluang ini dan, bergantung kepada keadaan, membuat keputusan untuk menarik diri daripada majlis itu secepat mungkin.

Ia tidak perlu untuk menjalankan melalui keseluruhan algoritma fungsi, apabila anda boleh keluar lebih awal.

argumen fungsi

Hujah-hujah yang dihantar ke senarai majlis itu, dipisahkan dengan koma, tersimpan di dalam kurungan, dan hanya selepas namanya. Hujah-hujah yang digunakan nama-nama pembolehubah, tetapi anda boleh lulus nilai langsung. Untuk lulus fungsi JavaScript dalam fungsi, anda hanya perlu nyatakan namanya tanpa kurungan.

Di dalam majlis itu adalah argumen pemboleh ubah yang ada, yang mempunyai harta panjang. Anda boleh merujuk kepada apa-apa fungsi hujah melalui hujah [0], hujah-hujah [1], ... kepada hujah-hujah terakhir [arguments.length-1].

Menukar fungsi hujah adalah benar-benar di dalam majlis itu tetapi tidak di luar. Dalam usaha untuk mengubah sesuatu di luar majlis itu, pengendali perlu menggunakan pulangan JavaScript, di mana lulus nilai yang diperlukan ke luar.

Selepas majlis itu selesai, semua yang dikaitkan dengan pelaksanaannya, akan dimusnahkan. Semasa pelaksanaan fungsi boleh mengubah pembolehubah luaran, kecuali orang-orang yang dinyatakan dalam fungsi lain, termasuk di kawasan pedalaman.

Kami mempunyai hujah-hujah harta CALLEE, yang bertujuan untuk memanggil fungsi yang dilakukan pada masa yang diberikan. Jika sebab itu sendiri, short JavaScript fungsi yang dalam fungsi akan melaksanakan rekursi.

menggunakan fungsi

Kebimbangan utama fungsi - untuk berkhidmat kepada pelayar acara tersebut. Untuk melakukan hampir setiap tag ini mempunyai keupayaan untuk menentukan nama acara dan fungsi pembuatannya. Anda boleh menentukan beberapa peristiwa, tetapi setiap acara ditunjukkan hanya satu fungsi.

Satu fungsi boleh mengendalikan elemen halaman berbilang dan peristiwa beberapa. Melalui pilihan «ini», anda boleh memindahkan fungsi maklumat di mana ia dipanggil.

Penggunaan klasik JS-fungsi - pengendali acara pada unsur-unsur. Dalam contoh ini scfWecomeGo () fungsi atau scfWelcomeCancel () dipanggil dalam bentuk input / output pelawat, dan apabila memilih mod operasi scfMenuItemClick (ini).

Dalam kes kedua, parameter yang diluluskan untuk «ini», yang membolehkan anda secara ajaib belajar daripada apa yang diva dipanggil. Sebenarnya, JavaScript begitu kualitatif ditanam di dalam DOM, dan ia begitu dengan mudah membolehkan anda untuk mengemudi unsur-unsur, untuk mengumpul maklumat yang diperlukan yang halaman dinamik hanya boleh diramal.

fungsi tidak perlu kembali rentetan, nombor, atau fungsi lain. Ia boleh mengembalikan HTML-elemen penuh, dan yang bilangan yang diperlukan unsur-unsur, dengan pengendali mereka, acara mereka.

meletakkan elemen pada halaman dengan, pemaju mewujudkan fungsi baru yang baik dari segi menyelesaikan masalah dan memenuhi kepentingan pengunjung, tetapi agak sukar dari segi pelaksanaan.

Sejak pembangunan seperti yang berfungsi sepenuhnya, mudah untuk mendapatkan hilang dalam kod asli, dalam panggilan fungsi, di saat-saat apabila terbentuk atau bahawa kandungan satu atau lain halaman. Sebelum mengambil apa-apa arah pembangunan, tidak menghalang yang serba berat segala-galanya.

Mengenai pengagihan pemikiran

pemaju mempunyai untuk berfikir pada tahap semua elemen halaman, pada setiap peristiwa, dan mempunyai persembahan yang jelas tentang bagaimana segala-galanya yang sebenarnya berlaku. Ia adalah sukar, tetapi kerja-kerja yang berbaloi.

Dalam JavaScript, fungsi mungkin tertunda sehingga beberapa peristiwa, dan ciri-ciri itu boleh menjadi banyak, dan peristiwa mempunyai kecenderungan untuk merebak dan masuk ke dalam "bidang penglihatan" daripada pelbagai pemproses.

Dalam contoh ini, di suatu tempat sebelum majlis itu dipanggil, yang memulakan item menu navigasi fail. Ia diandaikan paging, iaitu dalam tetingkap hanya tujuh fail, yang boleh dikeluarkan dan diproses. Boleh dipindahkan sebagai fail dengan klik pada baris, dan kekunci anak panah dan blok tujuh baris.

Dalam setiap kes mempunyai fungsi tersendiri. Dalam erti kata lain, dalam contoh ini mudah, anda perlu untuk menulis beberapa berpuluh-puluh ciri-ciri yang akan bertindak balas terhadap pelbagai acara, dan beberapa fungsi-fungsi ini akan mengendalikan pelbagai pilihan dan situasi bahawa peristiwa-peristiwa tidak tergolong.

Sebagai contoh, ketika mengeluarkan garis bawah mesti pelarian menaik. Ini akan memerlukan sama ada membuat pilihan baru yang biasa dan jelas sumber, atau untuk mengira baris, menggunakan fungsi javascript pada array dan untuk mencapai matlamat yang elegan.

Hujah-hujah dan keputusan fungsi

JavaScript membolehkan anda untuk membawa kod kepada status "berciri penuh". Biasanya, apabila hujah fungsi adalah fungsi. pilihan dibenarkan, fungsi mengembalikan fungsi. JavaScript mengambil ia agak tenang.

Ini adalah mekanisme yang baik, tetapi agak rumit yang berhubungan dengan pelaksanaannya. Secara teknikal dibenarkan semantik menyediakan "fungsi" penghantaran logik sahaja oleh pemaju yang berkelayakan.

Apabila fungsi JavaScript dalam fungsi - semua hak, tetapi apabila fungsi menjana fungsi, dan yang lain, logik agak sukar untuk diikuti. Malah, soalan itu tidak ialah sama ada untuk memohon kemahiran, soalan ini adalah untuk mendapatkan hasil yang betul dan selamat.

penjagaan pemaju adalah jelas dan mudah. Ada masalah, anda perlu penyelesaian, bukan bug seperti «ralat JavaScript operasi adalah tidak selamat» , skrin kosong, atau menghentikan semua enjin pelayar.

Jika argumen adalah fungsi, kemudian pemaju untuk lulus ubah dengan ciri-ciri khas, yang bukan nombor, bukan tali, tidak objek. Tetapi penggunaan hujah seperti itu boleh membawa kepada hakikat bahawa mengubah pembolehubah luaran dan adalah hasil daripada pelaksanaan fungsi. Bergantung kepada perubahan yang akan mencukupi dipindahkan.

Pelaksanaan kod yang dijana

Melaksanakan pelaksanaan kod dijana dalam perjalanan kerja kod lain, ia adalah mungkin dengan cara «eval». Ia tidak dianggap sebagai penyelesaian yang sangat baik, tetapi sering tidak boleh merumitkan kod dengan fungsi yang tidak perlu, dan untuk menghadkan pembentukan garis remeh kod JavaScript dan hanya melaksanakannya.

Dalam contoh ini, masukkan terbentuk jahitan ke dalam div beroperasi beberapa maklumat. Diva dan kandungan maklumat untuk nombor yang berbeza kedudukan yang berbeza, kerana apa-apa keputusan dalam situasi ini tidak menyediakan keadaan yang dijamin «javascript ralat operasi adalah tidak selamat» , tetapi tegas memberikan kesan yang diingini.

Nuansa JavaScript anjakan paradigma "fungsi dalam fungsi"

Jika anda boleh melakukannya tanpa perkhidmatan lebih, ia adalah lebih baik untuk menggunakannya. Semua pilihan ini adalah baik. Sudah tentu, dalam banyak kes, ia adalah satu-satunya penyelesaian.

Satu contoh klasik rekursi: faktorial. Ia cukup sukar untuk menulis algoritma yang akan gelung, tetapi ia adalah sangat mudah, anda boleh menolak nilai-nilai sampul surat. Faktorial berkembang terlalu cepat.

Walau bagaimanapun, rekursi, dan fungsi panggilan fungsi yang lain, yang boleh membuat panggilan balik maklumat - perkara yang normal.

Sebagai contoh, jadual biasa. Jadual lain boleh menjadi meja. Bersarang tidak boleh dihadkan. Menulis untuk setiap jadual set sendiri ciri - terlalu banyak mewah.

contoh-contoh itu adalah banyak, dan semua ini akan menjadi masalah sebenar dan mendesak, bukan kerana pengaturcaraan. Sebab itulah masalah ini terletak pada hakikat bahawa tanpa perkhidmatan lebih tidak menetapkan satu sistem fungsi, lebih tepat lagi, debugging dan operasi yang boleh dipercayai berikutnya menjadi penjagaan JavaScript, dan Pemaju.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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