while គឺជាបញ្ជាតម្រូវឲ្យអនុវត្តក្រុមបញ្ជានៅក្នុងនោះ សារចុះសារឡើងគ្មានឈប់ ដរាបណាកន្សោមប្រមាណវិធីមួយនៅតែផ្តល់លទ្ធផលជាតក្កអថេរ true ឬសមមូលនឹង true ។ ពិនិត្យកម្មវធីខាងក្រោមនេះ៖
var time = 0;
//ការប្រើបញ្ញា while
while(time <6){
console.log('ក្រុមបញ្ជានៅក្នុងបញ្ជា while ត្រូវបានយកទៅអនុវត្តជាលើកទី '+(time + 1));
time += 1;
}
នៅលើបន្ទាត់លេខ 4 ការសរសេរថា while(time <6) គឺជាបញ្ជាតម្រូវឲ្យអនុវត្តក្រុមបញ្ជានៅក្នុងបញ្ជា while នោះសារចុះសារឡើងគ្មានឈប់ ដរាបណាកន្សោមប្រមាណវិធី time < 6 នៅតែផ្តល់លទ្ធផលជាតក្កអថេរ true ។
នៅពេលដែលកម្មវិធីខាងលើនេះចាប់ផ្តើមដំណើរការ អថេរឈ្មោះ time គឺជាលេខ ០ ។ ដូចនេះកន្សោមប្រមាណវិធី time < 6 ផ្តល់លទ្ធផលជាតក្កអថេរ true ដែលជាប្រការធ្វើឲ្យក្រុមបញ្ជា នៅក្នុងបញ្ជា while ត្រូវយកទៅអនុវត្តជាលើកទីមួយ។ កត្កានេះធ្វើឲ្យប្រយោគមួយត្រូវបានសរសេរនៅលើ Chrome browser និងអថេរឈ្មោះ time កើនតម្លៃធំជាងមុនមួយ។ ហើយក្រោយពីក្រុមបញ្ជានៅក្នុងបញ្ជា while ត្រូវបានយកទៅអនុវត្តបានចប់សព្វគ្រប់ហើយ កន្សោមប្រមាណវិធី time < 6 ត្រូវយកមកគណនាជាថ្មីម្តងទៀត ហើយបើកន្សោមប្រមាណវិធីនោះនៅតែផ្តល់លទ្ធផលជាតក្កអថេរ true ក្រុមបញ្ជានៅក្នុងបញ្ជា while នឹងត្រូវយកទៅអនុវត្តជាថ្មីម្តងទៀត។ ទង្វើរបៀបនេះត្រូវប្រព្រឹត្តទៅជាដដែលៗ រហូតដល់កន្សោមប្រមាណវិធី time < 6 លែងផ្តល់លទ្ធផលជាតក្កអថេរ true ទៀត គឺនៅពេលដែលវត្ថុឈ្មោះ time ក្លាយទៅជាលេខ 6 ។ ម៉្យាងទៀត នៅពេលដែលក្រុមបញ្ជានៅក្នុងបញ្ជា while ត្រូវបានយកទៅអនុវត្តចំនួន 6 លើក អថេរឈ្មោះ ដង ក្លាយទៅជាលេខ 6 ពីព្រោះរាល់លើកដែលបញ្ជា time += 1 ត្រូវយកទៅអនុវត្ត អថេរឈ្មោះ time ក្លាយទៅជាលេខធំជាងមុនមួយរហូត។ ហើយនៅពេលដែលអថេរឈ្មោះ ដង ក្លាយទៅជាលេខ 6 កន្សោមប្រមាណវិធី time < 6 ផ្តល់លទ្ធផលជាតក្តអថេរ false ដែលជាប្រការធ្វើឲ្យការអនុវត្តក្រុមបញ្ជានៅក្នុងបញ្ជា while ត្រូវបញ្ចប់។
សរុបមក ដើម្បីឲ្យការអនុវត្តក្រុមបញ្ជានៅក្នុងបញ្ជា while អាចត្រូវបញ្ចប់បាន លុះត្រាណាតែកន្សោមប្រមាណវិធីជាប់នឹងបញ្ជា while លែងផ្តល់លទ្ធផលជាតក្កអថេរ true ឬសមមូលនឹង true នៅពេលណាមួយ។ បើពុំនោះសោតទេ ការអនុវត្តក្រុមបញ្ជានៅក្នុងបញ្ជា while នឹងត្រូវប្រព្រឹត្តទៅជាប់រហូតគ្មានឈប់។ ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
var time = 0;
//ការប្រើបញ្ញា while
while(time <6){
console.log('ក្រុមបញ្ជានៅក្នុងបញ្ជា while ត្រូវបានយកទៅអនុវត្តជាលើកទី '+(time + 1));
//time += 1;
}
បើសិនជាយើងដំណើរការកម្មវិធីខាងលើនេះ វានឹងដំណើរការទៅជាប់រហូតគ្មានឈប់។ នៅក្នុងភាសា JavaScript សកម្មភាពដំណើរការជាប់រហូតគ្មានឈប់នេះ ត្រូវហៅថា វដ្តកម្មជានិរន្តន៍ (infinite loop) ដែលជាបញ្ហាមួយតែងតែកើតមានឡើងជាញឹកញយ នៅក្នុងការសរសេរកម្មវិធីកំព្យូទ័រ។
មូលហេតុដែលធ្វើឲ្យកម្មវិធីខាងលើនេះ មានដំណើរការទៅជាប់រហូតគ្មានឈប់ គឺថាគ្រប់ពេលដែលក្រុមបញ្ជានៅក្នុងបញ្ជា while ត្រូវយកទៅអនុវត្ត អថេរឈ្មោះ time នៅតែរក្សាតម្លៃដដែល។ ដូចនេះកន្សោមប្រមាណវិធី time < 6 នៅតែផ្តល់លទ្ធផលជាតក្កអថេរ true ជានិច្ច។ ប្រការនេះធ្វើឲ្យក្រុមបញ្ជានៅក្នុងបញ្ជា while ត្រូវយកទៅអនុវត្តសារចុះសារឡើងជារៀងរហូត ព្រោះការអនុវត្តក្រុមបញ្ជានៅក្នុងបញ្ជា while អាចឈប់ទៅបាន លុះត្រាណាតែកន្សោមប្រមាណវិធី time < 6 ផ្តល់លទ្ធផលជាតក្កអថេរ false នៅពេលណាមួយតែប៉ុណ្ណោះ៕