នៅពេលដែលក្បួនមួយត្រូវបានបង្កើតឡើង នៅក្នុងក្បួននោះ មានអថេរម៉្យាងមានប្រភេទជាកម្រងមានឈ្មោះថា arguments ត្រូវបានបង្កើតឡើងដោយស្វ័យប្រវត្តិ។ តួនាទីរបស់កម្រងមានស្រាប់ឈ្មោះ arguments នេះ គឺសម្រាប់រក្សាទុកនូវដំណឹងទាំងឡាយណា ដែលត្រូវបានផ្តល់ឲ្យក្បួន នៅពេលក្បួនត្រូវបានយកទៅប្រើ។ ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
function displayProfit(sale, purchase){
//ការយកធាតុរបស់កំរង arguments មកប្រើ
var profit = arguments[0] - arguments[1];
return profit;
}
console.log('ប្រាក់ចំណេញទាំងអស់គឺៈ ' + displayProfit(1000, 900));
នៅលើបន្ទាត់លេខ 3 ការសរសេរថា var profit = arguments[0] - arguments[1]; គឺជាបញ្ជាតម្រូវឲ្យយកដំណឹងដែលត្រូវបានផ្តល់ឲ្យក្បួនឈ្មោះ displayProfit យកមកធ្វើប្រមាណវិធីដក។
ដូចនេះយើងឃើញថា ដំណឹងទាំងអស់ដែលត្រូវបានផ្តល់ឲ្យក្បួនឈ្មោះ displayProfit ត្រូវបានយកទៅទុកនៅក្នុងកម្រងមានស្រាប់ឈ្មោះ arguments ដែលត្រូវបានបង្កើតឡើងរួចជាស្រេចទុកនៅក្នុងក្បួននោះ។ ម៉្យាងទៀត ដំណឹងទាំងនោះត្រូវបានដាក់តម្រៀបគ្នាតាមលំដាប់លំដោយ ដោយអនុលោមទៅតាមលេខរៀងរបស់វា។ ជាក់ស្តែង នៅក្នុងកម្មវិធីខាលើនេះ លេខរៀងរបស់ដំណឹងដែលជាលេខ 1000 គឺ [0] ចំណែកឯលេខរៀងរបស់ដំណឹងដែលជាលេខ 900 វិញ គឺ [1] ។
ដោយដំណឹងទាំងអស់នឹងត្រូវយកទុកនៅក្នុងកម្រងមានស្រាប់ឈ្មោះ arguments ដូចនេះយើងអាចផ្តល់ដំណឹងមានចំនួនមានប៉ុន្មានក៏បានដែរ ឲ្យទៅក្បួនណាមួយ។ ហើយដំណឹងដែលលើសពីចំនួននៃដំណាងនៅក្នុងក្បួន នឹងត្រូវយកទៅទុកនៅក្នុងកម្រងមានស្រាប់ឈ្មោះ arguments នោះ។ ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
function displayProfit(sale, purchase){
var profit = arguments[0] - arguments[1];
//ការប្រើបញ្ជា for/in ពិនិត្យធាតុរបស់កំរង arguments
for(var index in arguments){
console.log(arguments[index]);
}
}
//ការយកក្បួន displayProfit ដោយផ្តល់ដំណឹងលើពីតំណាងរបស់វា
displayProfit(1000, 900, true, 'ចំណេញ', 'ខាត');
នៅលើបន្ទាត់លេខ 5 ការសរសេរថា for(var index in arguments) គឺជាការប្រើបញ្ជា for/in តម្រូវឲ្យពិនិត្យមើលគ្រប់ដំណឹងទាំងអស់ដែលមាននៅក្នុងកម្រងមានស្រាប់ឈ្មោះ arguments ។
នៅលើបន្ទត់លេខ 11 ការសរសេរថា displayProfit(1000, 900, true, 'ចំណេញ', 'ខាត') គឺជាបញ្ជាតម្រូវឲ្យយកក្បួនឈ្មោះ displayProfit មកប្រើ ដោយផ្តល់ដំណឹងមានចំនួនលើសពីដំណាងនៅក្នុងក្បួននោះ។ ដូចនេះដំណឹងដែលលើសនោះ នឹងត្រូវយកទៅទុកនៅក្នុងកម្រងមានស្រាប់ឈ្មោះ arguments ។
ទន្ទឹមគ្នានេះដែរ បើសិនជាយើងយកក្បួនណាមួយមកប្រើ ដោយផ្តល់ដំណឹងមិនគ្រប់គ្រាន់ឲ្យវា ក្បួននោះនឹងផ្តល់មោឃៈអថេរ undefined ឲ្យទៅតំណាងដែលមិនបានទទួលដំណឹងនឹងគេ។ ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
function displayProfit(sale, purchase){
console.log(sale);
console.log(purchase);
}
displayProfit(1000);
នៅលើបន្ទាត់លេខ 6 ការសរសេរថា displayProfit(1000) គឺជាបញ្ជាតម្រូវឲ្យយកក្បួនឈ្មោះ displayProfit មកប្រើ ដោយផ្តល់ដំណឹងតែមួយឲ្យវា។ ប្រការនេះបណ្តាលឲ្យដំណឹងដែលជាមោឃៈវត្ថុ undefined ត្រូវបានផ្តល់ឲ្យទៅដំណាង purchase ដោយស្វ័យប្រវត្តិ។
នៅក្នុងភាសា JavaScript យើងអាចប្រើវិធីម៉្យាង ដើម្បីបង្កើត ដំណឹងមានស្រាប់ (default arguments) មួយចំនួន សម្រាប់ឲ្យដំណាងផ្សេងៗ ដែលមាននៅក្នុងក្បួន។ ហើយនៅពេលដែលក្បួនទទួលដំណឹងមិនបានគ្រប់គ្រាន់សម្រាប់ដំណាងទាំងអស់នោះទេ ក្បួននឹងយកដំណឹងមានស្រាប់ទាំងនោះមកប្រើ សម្រាប់ដំណាងដែលមិនបានទទួលដំណឹងនឹងគេ។ ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
function displayProfit(sale=5000, purchase=4000){
console.log('ថ្ងៃលក់គឺជាលេខៈ ' + sale);
console.log('ថ្ងៃទិញគឺជាលេខៈ ' + purchase);
}
displayProfit(1000);
នៅលើបន្ទាត់លេខ 1 ការសរសេរថា displayProfit(sale=5000, purchase=4000) គឺជាបញ្ជាតម្រូវឲ្យបង្កើតដំណឹងមានស្រាប់ ២ ដែលជាលេខ 5000 និងលេខ 4000 សំរាប់ដំណាង sale និង purchase រៀងគ្នា។ ដូចនេះនៅពេលដែលដំណាងទាំងនោះ មិនបានទទួលដំណឹងណាមួយ ដំណាងទាំងនោះនឹងយកដំណឹងមានស្រាប់ទាំងនោះទៅប្រើប្រាស់។
នៅលើបន្ទាត់លេខ 7 ការសរសេរថា displayProfit(1000) គឺជាបញ្ជាតម្រូវឲ្យយកក្បួនឈ្មោះ displayProfit មកប្រើ ដោយផ្តល់ដំណឹងតែមួយសម្រាប់ដំណាង sale នៅក្នុងនោះ។ ប្រការនេះបានធ្វើឲ្យដំណឹងមានស្រាប់ដែលជាលេខ 4000 ត្រូវបានយកមកប្រើសម្រាប់ដំណាង purchase នេះ៕