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 ​នៅ​ពេល​ណា​មួយ​តែ​ប៉ុណ្ណោះ​៕