Javascript menjalankan fungsi dalam gelung for. Mengenai fungsi pengurangan dan penapis. Bahagian pilihan untuk gelung

Salah satu alat yang paling penting dalam pengaturcaraan ialah gelung. Mereka berguna dalam kes di mana anda perlu melakukan sesuatu beberapa kali.

Jika terdapat tugas sedemikian, sebagai contoh, untuk memaparkan baris "hello everyone" 1000 kali. Kemudian, tanpa menggunakan gelung, pertama ia akan mengambil banyak masa dan kedua, ia tidak akan kelihatan sangat bagus. Oleh itu, anda perlu mengetahui kitaran dengan baik, kerana ia digunakan sangat, sangat kerap.

Terdapat empat gelung dalam pengaturcaraan, iaitu while, do-while, for dan foreach. Setiap daripada mereka mempunyai sintaks sendiri dan setiap satu digunakan dalam kes tertentu.

Gelung yang paling biasa digunakan ialah untuk dan foreach, kemudian sambil, dan gelung do-while sangat jarang berlaku.

Dan kita akan mulakan dengan gelung while.

Sintaks gelung while adalah seperti berikut:


Mula-mula, kami mengisytiharkan pembolehubah i, iaitu pembilang, dan di dalam gelung kami menambah pembilang ini. Di dalam kurungan kita menulis syarat untuk memasuki/keluar gelung.

Komen! Tulis keadaan keluar dengan betul, jika tidak, anda mungkin berakhir dengan gelung yang tidak berkesudahan dan kemudian skrip akan membeku. Kitaran sedemikian boleh berlaku jika, sebagai contoh, kita hanya menulis benar dalam keadaan keluar.

Sebagai contoh, mari kita cetak rentetan "Hello semua!" 10 kali.

Var i = 0; manakala(i "); i++; )

Pembolehubah i boleh bermula dari 0 atau 1 atau dari mana-mana nombor lain.

Keadaan keluar adalah pada masa yang sama syarat kemasukan. Gelung berfungsi seperti berikut: Pertama, ia menyemak sama ada pembolehubah i adalah kurang daripada 10, dan jika keadaan itu benar, maka kita masukkan gelung, jika tidak, tidak. DALAM dalam kes ini jika pembolehubah i adalah sama dengan 30, sebagai contoh, maka gelung tidak akan dilaksanakan, kerana 30 tidak kurang daripada 10.

Kami memasuki kitaran, mencetak baris "Hello semua", menambah kaunter dan sekali lagi pergi ke keadaan, di mana kami sekali lagi menyemak sama ada nilai pembolehubah i kurang daripada 10, kemudian kami memasuki kitaran, jika tidak, kami keluar darinya. Dan ini berlaku sehingga saat keadaan kemasukan menjadi palsu, iaitu, nilai pembolehubah i akan menjadi 10. 10 tidak kurang daripada 10, jadi kita tidak lagi memasuki gelung, tetapi teruskan.

Komen! Jangan lupa untuk menambah pembilang (i++), jika tidak, anda akan mendapat gelung tak terhingga.

Kami telah menangani gelung sementara, sekarang mari kita beralih kepada gelung buat sambil.

Sintaks gelung do-while adalah seperti berikut:


Perbezaan antara gelung sementara dan gelung do-while ialah gelung do-while boleh dilaksanakan sekurang-kurangnya sekali, tanpa mengira keadaan, manakala gelung sementara tidak akan dilaksanakan sama sekali jika syarat itu palsu.

Komen! Sama seperti gelung while, jangan lupa untuk menambah pembilang i.

Mari kita teruskan untuk berlatih. Sebagai contoh, mari kita mengira hasil darab nombor dari 1 hingga 10.

Var i = 1; var pengeluaran = 1; lakukan(pengeluaran *= i; i++; )sementara(i

Hasilnya akan menjadi nombor 3628800. Pada langkah pertama, kami segera memasuki gelung, walaupun keadaannya, di mana pengeluaran operasi *= i dilakukan (ini adalah sama dengan pengeluaran = pengeluaran * 1). Kemudian kita menambah kaunter. Selepas kenaikan, ia mempunyai nilai 2. Dan pada akhirnya kita menyemak keadaan, jika nilai pembilang kurang daripada atau sama dengan 10, maka kita pergi ke lelaran seterusnya gelung, jika tidak, kita keluar dari gelung dan teruskan .

untuk gelung

Seperti yang saya tulis di atas, gelung for berlaku agak kerap, jadi anda perlu mengetahuinya dengan baik.

Sintaks untuk gelung seterusnya:


Untuk pemahaman yang lebih baik, mari kita selesaikan masalah mudah. Katakan kita perlu mengira jumlah nombor dari 1 hingga 1000 menggunakan gelung for.

Var summa = 0; untuk(var i = 1; i

Kami menyimpan dokumen itu, buka dalam penyemak imbas dan lihat hasilnya ialah 500500.

Komen! Jika terdapat hanya satu pernyataan dalam gelung, maka pendakap gigi pilihan.

Untuk menunjukkan, mari kita paparkan beberapa rentetan pada skrin sebanyak 5 kali, contohnya "Hello!"

Untuk(var i = 1; i

Komen! Selepas gelung dilaksanakan, nilai terakhir kekal dalam pembolehubah i.

Sekarang mari kita selesaikan masalah ini sedikit lebih rumit, sebagai contoh kita perlu mencetak rentetan "Hello" 100 kali. Dan supaya semuanya tidak berakhir dalam satu baris, maka selepas setiap lelaran ke-10, mari pergi ke baris baru. Dan pada akhirnya kita akan mencetak nilai pembolehubah i.

Untuk(var i = 1; i 10) break; document.write(array[i] + "
"); }

Gelung ini berulang melalui semua elemen tatasusunan, tetapi empat elemen terakhir tidak akan dipaparkan dalam penyemak imbas, kerana ujian jika (tatasusunan[i] > 10) akan mengganggu gelung dengan pernyataan putus apabila melelaran melalui tatasusunan mencapai unsur 12.

Jika kita hanya perlu melangkau lelaran, tetapi tidak keluar dari gelung, kita boleh menggunakan pernyataan continue:

Tatasusunan Var = [ 1, 2, 3, 4, 5, 12, 17, 6, 7 ]; untuk (var i = 0; i< array.length; i++) { if (array[i] >10) teruskan; document.write(array[i] + "
"); }

Dalam kes ini, jika program menemui nombor yang lebih besar daripada 10 dalam tatasusunan, maka nombor ini tidak akan dipaparkan dalam penyemak imbas.

Gelung ialah cara mudah untuk melakukan sesuatu beberapa kali. Bab Panduan JavaScript ini akan memperkenalkan anda pelbagai operator tersedia dalam JavaScript.

Anda boleh menganggap gelung sebagai versi berkomputer permainan di mana anda memberitahu seseorang untuk mengambil langkah X ke satu arah, kemudian Y melangkah ke arah yang lain; Sebagai contoh, idea permainan "Berjalan 5 langkah ke timur" boleh dinyatakan sebagai gelung:

Langkah Var; untuk (langkah = 0; langkah< 5; step++) { // Запускается 5 раз, с шагом от 0 до 4. console.log("Идём 1 шаг на восток"); }

Terdapat banyak pelbagai jenis gelung, tetapi semuanya pada asasnya melakukan perkara yang sama: mereka mengulangi beberapa tindakan beberapa kali (jangan lupa tentang masa ulangan sifar, pengiraan dalam tatasusunan bermula dari 0). Kitaran struktur yang berbeza menawarkan cara yang berbeza untuk menentukan permulaan dan akhir kitaran. Untuk pelbagai tugas pengaturcaraan mempunyai pengendali gelung sendiri, dengan bantuannya ia boleh diselesaikan dengan lebih mudah.

Operator yang direka untuk mengatur gelung dalam JavaScript:

untuk gelung

Gelung for mengulangi tindakan sehingga beberapa peristiwa penamatan gelung khas berlaku. Pernyataan for dalam JavaScript adalah serupa dengan pernyataan for dalam Java dan C. Deklarasi untuk operator seperti berikut:

Untuk ungkapan ([mula]; [syarat]; [langkah]).

Apabila ia dilaksanakan, perkara berikut berlaku:

  • Ungkapan permulaan dilaksanakan, jika dinyatakan. Ungkapan ini lazimnya memulakan satu atau lebih pembilang, tetapi sintaks membenarkan ungkapan itu mempunyai sebarang kerumitan. Juga digunakan untuk mengisytiharkan pembolehubah.
  • Syaratnya dipenuhi. Jika keadaan adalah benar, maka ungkapan akan dilaksanakan. Jika ia palsu, gelung for putus. Sekiranya syarat itu ditinggalkan sepenuhnya, maka ia dianggap benar.
  • Ungkapan dilaksanakan. Untuk melaksanakan berbilang ungkapan, ungkapan blok ( ... ) digunakan untuk mengelompokkan ungkapan.
  • Langkah dikemas kini jika ada, dan kemudian kawalan kembali ke langkah 2.
  • Contoh

    DALAM fungsi seterusnya Terdapat gelung for yang mengira bilangan genre yang dipilih dalam senarai tatal (elemen yang membolehkan anda memilih berbilang elemen). Gelung for mengisytiharkan pembolehubah i dan menetapkan nilainya kepada 0. Ia juga menyemak bahawa i adalah kurang daripada bilangan elemen dalam elemen , melaksanakan pernyataan if dan menambah i dengan satu selepas setiap melalui gelung.

    Pilih beberapa genre muzik dan kemudian klik pada butang di bawah: R&B Jazz Blues New Age Classical Opera

    fungsi howMany(selectObject) ( var numberSelected = 0; for (var i = 0; i< selectObject.options.length; i++) { if (selectObject.options[i].selected) { numberSelected++; } } return numberSelected; } var btn = document.getElementById("btn"); btn.addEventListener("click", function(){ alert("Выбрано элементов: " + howMany(document.selectForm.musicTypes)) });

    lakukan...while loop

    Gelung do...while berulang selagi syarat yang diberikan adalah benar. Pernyataan do...while kelihatan seperti:

    Lakukan ungkapan sambil(syarat);

    ungkapan dilaksanakan selagi syarat adalah benar. Untuk menggunakan berbilang ungkapan, gunakan ungkapan blok ( ... ) untuk mengumpulkannya. Jika syarat adalah benar, ungkapan akan dilaksanakan semula. Pada akhir setiap pas keadaan diperiksa. Jika syarat itu palsu, pelaksanaan digantung dan kawalan dipindahkan ke ungkapan selepas do...while .

    Contoh

    Dalam contoh berikut, gelung do akan dilaksanakan sekurang-kurangnya 1 kali dan dijalankan semula selagi i kurang daripada 5.

    Lakukan ( i += 1; console.log(i); ) manakala (i< 5);

    gelung semasa

    Gelung while melaksanakan ungkapan selagi syarat itu benar. Ia kelihatan seperti ini:

    Manakala (syarat) ungkapan

    Jika syarat menjadi palsu, ungkapan dalam gelung berhenti melaksanakan dan kawalan beralih kepada ungkapan selepas gelung.

    Keadaan diperiksa sebagai benar sebelum ungkapan dalam gelung dilaksanakan. Jika syarat adalah benar, ungkapan akan dilaksanakan, dan kemudian keadaan diuji semula. Jika syarat itu palsu, pelaksanaan digantung dan kawalan berpindah ke ungkapan selepas beberapa ketika .

    Untuk menggunakan berbilang ungkapan, gunakan blok ungkapan ( ... ) untuk mengumpulkannya.

    Contoh 1

    Gelung while berikut berjalan selagi n kurang daripada tiga:

    Var n = 0; var x = 0; manakala (n< 3) { n++; x += n; }

    Dengan setiap lelaran, gelung bertambah n dan menambah nilai itu kepada x. Oleh itu, x dan n mendapat nilai berikut:

    • Selepas hantaran pertama: n = 1 dan x = 1
    • Selepas yang kedua: n = 2 dan x = 3
    • Selepas hantaran ketiga: n = 3 dan x = 6

    Selepas hantaran ketiga, syarat n< 3 становится ложным, поэтому цикл прерывается.

    Contoh 2

    elakkan gelung yang tidak berkesudahan. Pastikan keadaan gelung akhirnya menjadi palsu; jika tidak, kitaran tidak akan pernah terganggu. Ungkapan dalam gelung while seterusnya akan berjalan selama-lamanya kerana syarat itu tidak akan menjadi palsu:

    Manakala (benar) ( ​​console.log("Hello, dunia"); )

    Label

    Label ialah pernyataan dengan pengecam yang membolehkan anda merujuk kepada beberapa tempat dalam program anda. Sebagai contoh, anda boleh menggunakan label untuk menunjukkan gelung dan kemudian menggunakan penyataan putus atau teruskan untuk menunjukkan sama ada program harus memecahkan gelung atau terus melaksanakannya.

    Sintaks label adalah seperti berikut:

    Tag: pengendali

    Maknanya tag boleh menjadi sebarang pengecam JavaScript yang sah yang tidak perkataan terpelihara. Operator , yang anda tentukan selepas label boleh menjadi sebarang ungkapan.

    Contoh

    Dalam contoh ini, markLoop mewakili gelung sementara.

    MarkLoop: while (theMark == true) ( ​​​​doSomething(); )

    rehat

    Gunakan pernyataan putus untuk memecahkan gelung, menukar kawalan atau digabungkan dengan pernyataan label.

    • Apabila anda menggunakan break tanpa label, ia memecahkan while , do-while , dan untuk gelung atau segera menukar kawalan kepada ungkapan seterusnya.
    • Apabila anda menggunakan break dengan tanda, ia memecahkan ungkapan yang ditanda khas.

    Sintaks operator boleh:

  • pecah;
  • rehat Label;
  • Bentuk pertama sintaks memecahkan gelung sama sekali atau menukar kawalan; yang kedua mengganggu ungkapan yang ditetapkan khas.

    Contoh 1

    Contoh berikut berulang melalui elemen dalam tatasusunan sehingga ia menemui elemen yang nilainya ialah theValue:

    Untuk (i = 0; i< a.length; i++) { if (a[i] == theValue) { break; } }

    Contoh 2: Label interrupt var x = 0; var z = 0 labelCancelLoops: while (true) ( ​​​​console.log("Gelung luar: " + x); x += 1; z = 1; manakala (true) ( ​​​​console.log("Gelung dalam: " + z) ; z += 1; jika (z === 10 && x === 10) ( break labelCancelLoops; ) jika (z === 10) ( break; ) ) ) teruskan

    Pernyataan continue digunakan untuk bergerak satu langkah ke hadapan dalam while , do-while , untuk gelung atau untuk melompat ke label.

    • Apabila anda menggunakan continue tanpa label, ia memecahkan lelaran semasa while , do-while , dan untuk gelung dan meneruskan gelung dari lelaran seterusnya. Tidak seperti break , continue tidak mengganggu pelaksanaan gelung sepenuhnya. Dalam gelung sementara ia melompat ke keadaan. Dan dalam untuk itu meningkatkan langkah.
    • Apabila anda menggunakan teruskan dengan label, ia digunakan pada gelung dengan label itu.

    Sintaks continue mungkin kelihatan seperti ini:

  • teruskan;
  • teruskan Label ;
  • Contoh 1

    Contoh berikut menunjukkan gelung sementara dengan operator teruskan, yang menyala apabila nilai i ialah 3. Jadi n mendapat nilai 1, 3, 7 dan 12.

    Var i = 0; var n = 0; Sementara saya< 5) { i++; if (i == 3) { continue; } n += i; }

    Contoh 2

    Ungkapan ditanda checkiandj mengandungi ungkapan yang ditanda semakj. Apabila menghadapi continue , program membatalkan lelaran semasa semakj dan memulakan lelaran seterusnya. Setiap kali anda bertemu teruskan, semakj meneruskan ke lelaran seterusnya selagi syarat mengembalikan palsu . Apabila palsu dikembalikan selepas mengira baki bahagian checkiandj, checkiandj diteruskan ke lelaran seterusnya selagi keadaannya kembali palsu . Apabila false dikembalikan, program meneruskan pelaksanaan dengan ungkapan selepas checkiandj.

    Jika berterusan ditanda checkiandj, program ini boleh diteruskan dari awal markah checkiandj.

    Checkiandj: sementara (i< 4) { console.log(i); i += 1; checkj: while (j >4) ( console.log(j); j -= 1; if ((j % 2) != 0) ( continue checkj; ) console.log(j + "even."); ) console.log("i = " + i); console.log("j = " + j); )

    untuk...dalam

    Pernyataan for...in berulang melalui semua sifat terhitung objek. JavaScript akan melaksanakan ungkapan yang ditentukan untuk setiap satu harta yang berasingan. Gelung untuk...dalam kelihatan seperti ini:

    Untuk (pembolehubah dalam objek) (ungkapan)

    Contoh

    Fungsi berikut mengambil objek dan namanya sebagai hujahnya. Ia kemudian melelaran melalui semua sifat objek dan mengembalikan rentetan yang mengandungi nama harta dan nilainya.

    Function dump_props(obj, obj_name) ( var result = ""; for (var i in obj) ( result += obj_name + "." + i + " = " + obj[i] + "
    "; ) hasil += ""; pulangkan hasil; )

    Untuk objek kereta dengan sifat buatan dan model, hasil akan :

    Kereta.buat = Kereta Ford.model = Mustang

    Contoh No. 2

    Anda juga boleh memaparkan nilai dengan kunci:

    Biarkan obj = (model: "AUDI A8", tahun: "2019", warna: "coklat") untuk (kunci masuk obj) ( console.log(`$(key) = $(obj)`); ) // model = AUDI A8 // tahun = 2019 // warna = coklat

    Tatasusunan

    Walaupun ia menarik untuk digunakan untuk...sebagai cara untuk melelaran melalui semua elemen Array, pengendali ini mengembalikan nama sifat yang ditentukan pengguna sebagai tambahan kepada indeks berangka. Oleh itu, adalah lebih baik untuk menggunakan piawai untuk untuk indeks berangka apabila berinteraksi dengan tatasusunan, kerana penyataan for...in berjalan melalui pengguna tertentu sifat sebagai tambahan kepada elemen tatasusunan jika anda mengubah suai tatasusunan, seperti menambah sifat dan kaedah.

    Untuk ( pembolehubah daripada objek) { ungkapan}

    Contoh berikut menunjukkan perbezaan antara untuk...daripada dan untuk...dalam gelung. Manakala untuk...dalam lelaran atas nama harta, untuk...daripada lelaran atas nilai harta:

    Biarkan arr = ; arr.foo = "hello"; for (let i in arr) ( console.log(i); // mencetak "0", "1", "2", "foo") untuk (let i of arr) ( console.log(i); / / output "3", "5", "7")

    Sejarah pembentukan sintaks bahasa pengaturcaraan moden adalah serupa dengan memahami proses pembentukan Alam Semesta. Apa dan bagaimana ia pada mulanya... Tetapi kini semuanya mudah dan boleh diakses.

    Akhirnya, algoritma sentiasa rantaian arahan yang berurutan. Paralelisme dalam pengaturcaraan ialah satu set urutan gabungan entah bagaimana. rantaian arahan bersiri atau selari tidak pernah menjadi lebih praktikal. Label, peralihan dan syarat - semuanya sudah cukup untuk sebarang penyelesaian. Bahasa berfungsi idea-idea ini tidak mempunyai kepentingan, tetapi keperluan untuk mengulang bahagian kod kekal.

    Pelayar: DOM, bahasa + pelayannya

    Dalam JavaScript, gelung kekal, walaupun idea berfungsi telah memperoleh makna istimewa. Mungkin terdapat sesuatu yang tinggal daripada "Lisp" dan "Prolog", tetapi kemungkinan besar kawasan tempat JavaScript hidup membawa kepada apa yang ada, tetapi diragui bahawa ini adalah penyelesaian terakhir.

    JavaScript berjalan di dalam penyemak imbas, yang menerima halaman, menghuraikannya ke dalam DOM dan menjalankan skrip pertama. Semua halaman lain, termasuk yang dimuatkan pada halaman ini, adalah kerja pembangun yang memanipulasi bahasa, yang melaluinya kod pada pelayan boleh dipanggil dan hasilnya diperoleh menggunakan mekanisme AJAX.

    Penyemak imbas melaksanakan kod JavaScript, yang boleh menggunakan objek penyemak imbas, termasuk yang menghantar maklumat ke pelayan dan menerima respons, yang boleh berupa penanda HTML, gaya dan kod itu sendiri. Respons boleh diwakili oleh tatasusunan dan objek. Titik penggunaan gelung dalam JavaScript hilang, terdapat banyak peluang untuk dilakukan tanpanya, dan risiko menggantung penyemak imbas dengan urutan arahan yang tidak berkesudahan bukanlah penyelesaian terbaik.

    Gelung sendiri terdapat dalam kebanyakan binaan sintaksis JavaScript; pembangun boleh menambah binaan standard dengan fungsinya sendiri.

    Kedudukan JavaScript dalam Ruang Kod

    Seorang pengaturcara moden tidak berfikir bahawa sementara, lakukan sambil, ...) yang dia gunakan akhirnya adalah satu siri kitaran pemproses, urutan mudah operasi binari, diganggu oleh pemeriksaan balas, iaitu syarat.

    Tiada kitaran seperti itu pada tahap bahasa mesin: Terdapat gabungan perintah biasa, pernyataan bersyarat dan cabang. Satu tahap ke atas, tidak kira apa alat yang digunakan untuk membangunkan pelayar dan jurubahasa JavaScript, pasti akan ada gelung. Selain itu, "kepingan kod" akan dibentangkan pada masa yang berbeza Dan generasi yang berbeza pengaturcara. Lantai di atas ialah "bangunan" JavaScript. Sintaks yang menawarkan gelung JavaScript moden.

    JS ialah bahasa yang menarik: praktikal, moden dan berciri penuh. Sintaks alat ini merangkumi semua binaan yang telah bertahan dalam ujian masa dan telah menjadi asas yang tidak tergoyahkan bagi mana-mana algoritma. Tetapi adakah kitaran benar-benar diperlukan? Kemajuan dalam pengaturcaraan sering bertanya kepada dirinya sendiri soalan yang bersifat asas, tetapi hanya dalam beberapa kes ia menemui penyelesaian.

    Alasan objektif

    Satu kitaran boleh mempunyai dua pilihan sahaja: mengikut keadaan atau mengikut kaunter, tetapi pada asasnya (pada tahap terendah) mana-mana kitaran hanya mengikut keadaan. Dalam beberapa bahasa terdapat kitaran "untuk setiap". Dalam JavaScript foreach gelung diwakili oleh prop dalam binaan objek, tetapi anda boleh menggunakan pilihan array.forEach(...).

    Walau apa pun, terdapat dua pilihan: pengaturcara yang akhirnya melaksanakan semua algoritma pengaturcara, malah yang menulis dalam bahasa tafsiran, tidak mempunyai pilihan lain untuk mengulangi rantaian arahan: dia boleh melaksanakan sesuatu sekali lagi sehingga:

    • pengiraan kaunter;
    • asalkan syarat dipenuhi.

    JavaScript ialah penterjemah biasa. Keanehannya: ia beroperasi di dalam penyemak imbas, menggunakan objeknya dan membolehkan anda melaksanakan algoritma pada sisi klien, kedua-duanya apabila halaman dimuatkan ke dalam penyemak imbas dan semasa operasinya.

    Gelung mudah satu demi satu

    Dalam JavaScript, gelung foreach kelihatan seperti menggunakan fungsi pada tatasusunan:

    Penggunaan kitaran sedemikian tidak menimbulkan sebarang kesulitan. Secara formal, tidak ada kitaran seperti itu. Terdapat panggilan fungsi berjujukan kepada elemen tatasusunan.

    Gelung pada kaunter

    Untuk gelung kelihatan lebih biasa dalam JavaScript:

    Di sini pembilang adalah pembolehubah yang nilainya berubah mengikut formula dan keadaan adalah tanda akhir kitaran. Formula dan syarat tidak perlu memasukkan pembolehubah gelung. Tetapi kawalan ke atas saat kitaran tamat ditentukan sepenuhnya oleh kandungannya.

    Gelung bersyarat

    Pilihan dengan manakala JavaScript tawaran bergantung pada bila keadaan perlu diperiksa. Jika badan gelung mungkin tidak dilaksanakan sekali pun, ini adalah satu perkara; jika badan mesti dilaksanakan sekurang-kurangnya sekali, ini adalah satu lagi:

    Dalam kes pertama, apabila mentafsir binaan while, JavaScript mula-mula menyemak keadaan, dan jika ia benar, ia melaksanakan gelung. Dalam kes kedua, gelung akan dilaksanakan terlebih dahulu. Jika, akibat daripada menukar pembolehubah yang dinyatakan dalam keadaan do while construct, ia menjadi palsu, gelung akan berhenti melaksanakan.

    Gabungan besar-besaran algoritma mudah

    Tugas utama (bahagian komponen) mana-mana algoritma adalah untuk mencari, dan hanya kemudian membuat keputusan tentang perkara yang perlu dilakukan seterusnya. Pilihan carian paling primitif ialah mengakses pembolehubah, hasilnya diperoleh secara langsung. Sekiranya terdapat banyak pembolehubah, atau ia mempunyai banyak nilai (tatasusunan), maka untuk memilih nilai adalah perlu untuk mencari sesuatu yang akan menentukan tingkah laku skrip selanjutnya.

    Doktrin mudah ini telah menjadikan gelung balas dalam JavaScript sejenis ubat penawar untuk semua masalah. Komputer moden berbeza dalam kelajuan. Terdapat banyak masa untuk menjalankan skrip dalam penyemak imbas, tidak perlu tergesa-gesa. Lebih mudah berbanding sebelum ini untuk melalui sesuatu demi sesuatu. Akibatnya, untuk gelung telah menjadi sangat popular dalam JavaScript.

    Nampaknya tidak ada yang buruk tentang ini. Tetapi di sebalik pendekatan ini, intipati untuk algoritma ini atau itu ditulis mudah hilang. Data tidak bermakna. Segala sesuatu yang mana program ditulis mempunyai makna. Dengan terlalu menggunakan gelung dalam JavaScript, pembangun mungkin gagal mengenali entiti yang diperlukan dan gagal mencipta algoritma yang mencukupi.

    Kefungsian, satu lagi refleksi realiti

    Menggunakan gelung JavaScript, contoh jenis kod yang sama boleh diwakili sebagai fungsi - algoritma akan segera berubah, saiz badan utama skrip akan berkurangan, semuanya akan menjadi mudah dibaca dan difahami.

    Ini bukan penyelesaian yang sangat baru, tetapi pada dasarnya ia tidak melampaui konstruk bahasa lain. Khususnya, gelung JavaScript boleh didapati dalam fungsi klasik split():

    var cResult = "9,8,7,6,5,4" ;
    var aResult = cResult .split ( "," );

    Tiada gelung di sini, tetapi bagaimana lagi ini boleh dicapai selain dengan mencari simbol "," dan menggunakannya untuk memisahkan satu nombor daripada yang lain.

    Merumuskan daripada cara ini dilaksanakan di dalam fungsi split(), anda boleh menambah JavaScript dengan fungsi anda sendiri yang menggunakan gelung, yang lebih mudah dari sudut penggunaan. Adalah penting bahawa pendekatan ini membawa kepada pembangunan fungsi untuk setiap tugas, masing-masing, tetapi umum masih akan menggunakan pendekatan ini.

    Fungsi ini allt(), padc(), padl() dan padr() adalah sesuatu yang JavaScript tidak mempunyai, tetapi kadangkala anda perlu mengalih keluar ruang daripada rentetan atau menjajarkan panjang rentetan di sebelah kiri, kanan atau kedua-dua pihak. Badan fungsi ini mengandungi gelung JavaScript. Mudah, boleh diakses dan algoritma yang menggunakan ini tidak akan ranap.

    Varian fungsi untuk menukar nombor daripada heksadesimal kepada sistem nombor ke-10 dan sebaliknya, lebih ringkas, daripada satu format data ke format data yang lain, dilakukan di sini menggunakan gelung do while. Sintaks bahasa yang sangat padat dan cekap.

    Kitaran yang betul - pantulan realiti

    JavaScript tidak sepadan dengan bahasa pengaturcaraan lain dan tidak berbeza dalam pelbagai versi, dan yang paling penting, ia berusaha untuk tidak mengubah sintaks, tetapi untuk membangunkan dan mengembangkannya.

    Pemikiran seorang pengaturcara menggunakan JS adalah berbeza daripada berfikir pengaturcara PHP(khususnya, dan bahasa lain secara umum, kecuali "Prolog" dan penggantinya tidak termasuk dalam arus perdana umum), apabila algoritma tidak terhad kepada pembolehubah, tatasusunan, pengendali tugasan dan binaan kitaran.

    Jika kita membayangkan bahawa tiada kitaran, tetapi masalah itu perlu diselesaikan, maka pilihan paling mudah (tutup mata) adalah dengan menganggap bahawa program memproses data yang merupakan titik atau sistem titik dalam ruang maklumat. Apa itu mata dan apa itu sistem mata adalah perkara yang khusus bidang subjek. Bagi seorang pengaturcara, tesis ini bermaksud: ada yang mudah diberikan dan ada koleksi data ringkas. Sememangnya, datum mudah satu tahap akan menjadi sistem untuk tahap di bawah, dan satu mata untuk tahap di atas.

    Dengan pendekatan ini, perkara utama adalah untuk menzahirkan intipatinya melalui kaedahnya. Apabila sesuatu titik berada dalam supersistem, maka fungsi sistem tersebut adalah untuk menzahirkan intipatinya sebagai koleksi intipati titik-titik yang termasuk di dalamnya.

    Pendekatan ini setua idea bahasa pengaturcaraan, tetapi belum dicerminkan secukupnya dalam pengaturcaraan. Ramai pengaturcara berfikir dengan betul, tetapi hasil kreativiti mereka meninggalkan banyak yang diingini.

    Ia membantu untuk memakai penutup mata kadang-kadang untuk melihat dunia!