នៅ​ក្នុង​ភាសា JavaScript យើង​អាច​បង្កើត​ក្បួន​មួយ​នៅ​ក្នុង​ក្បួន​មួយ​ទៀត​បាន​។ ក្នុងករណី​នេះ ទីកន្លែង​របស់​ក្បួន​នៅ​ខាង​ក្នុង​ត្រូវ​ហៅ​ថា​ ដែនកំណត់ចារឹកក្នុង (nested scope) ឯ​ចំណែក​ទី​កន្លែង​របស់​ក្បួន​នៅ​ខាង​ក្រៅ​ត្រូវ​ហៅ​ថា ដែនកំណត់ចារឹក្រៅ (enclosing scope) ។ ហើយ​ដើម្បី​បង្កើត​វត្ថុ​ផ្សេង​ៗ​នៅ​ក្នុង​ដែនកំណត់ចារឹក​ក្នុង និងដែន​កំណត់​ចារឹក​ក្រៅ យើង​ត្រូវ​ធ្វើ​ដូច​ខាងក្រោមនេះ​៖

 

//ការបង្កើត​ក្បួន​ចារឹក​ក្រៅ
function outerFunction(){
  var listOfMoney = [2000, 1500];
  console.log('វត្ថុ​នៅ​ក្នុង​ដែនកំណត់ចារឹក​ក្រៅគឺ​៖ '+listOfMoney);
 
  //ការបង្កើតក្បួន​ចារឹក​ក្នុង
  function innerFunction(){
    var setOfMoney = {'sale':1000, 'purchase':900};
    console.log('វត្ថុ​នៅ​ក្នុង​ដែន​កំណត់​ចារឹក​ក្នុង​គឺ​៖ '+setOfMoney);
  }
   
  innerFunction();
}
 
outerFunction();

 

នៅ​លើ​បន្ទាត់​លេខ 3 ការសរសេរ​ថា var listOfMoney = [2000, 1500] គឺ​ជា​បញ្ជា​តម្រូវ​ឲ្យ​បង្កើត​កម្រង​មួយ​មាន​ឈ្មោះ​ថា listOfMoney ដែល​ជា​វត្ថុ​ស្ថិត​នៅ​ក្នុង​ដែន​កំណត់​ចារឹក​ក្រៅ​ ដែល​ជា​ក្បួន​ឈ្មោះ outerFunction ។

 

នៅ​លើ​បន្ទាត់​លេខ 8 ការសរសេរ​ថា var setOfMoney = {'sale':1000, 'purchase':900} គឺ​ជា​បញ្ជា​តម្រូវ​ឲ្យ​បង្កើត​សំណុំ​មួយ​មាន​ឈ្មោះ​ថា setOfMoney ដែល​ជា​វត្ថុ​ស្ថិត​នៅ​ក្នុង​ដែនកំណត់ចារឹកក្នុង ដែល​ជា​ក្បួន​ឈ្មោះ innerFunction ។

 

វត្ថុ​នៅ​ក្នុង​ដែនកំណត់​ចារឹក​ក្នុង​ និង​វត្ថុ​នៅ​ក្នុង​ដែនកំណត់​ចារឹកក្រៅ ក៏​ដូច​ជា​វត្ថុ​នៅ​ក្នុង​ដែនកំណត់​ក្នុង​ជា​ទូទៅ​​ដែរ គឺ​វា​ត្រូវ​បាន​បង្កើត​ឡើង​នៅ​ពេល​ដែល​ក្បួន​ត្រូវ​បាន​យក​ទៅ​ប្រើ​ និង​ត្រូវ​លុប​ចោល​ទៅវិញ នៅ​ពេល​ដែល​ក្បួន​ត្រូវ​បាន​ប្រើ​រួច​ហើយ​។

 

ដែនកំណត់​មានស្រាប់ (built-in scope) គឺ​ជា​ទីកន្លែង​មាន​ស្រាប់​មួយ​កន្លែង​ ​នៅ​ក្នុង​សតិ​របស់​កំព្យូទ័រ​​ ដែល​នៅ​ក្នុង​នោះ វត្ថុ​មួយ​ចំនួន​ត្រូវ​បាន​បង្កើត​ឡើង​រួច​ជា​ស្រច ទុក​សម្រាប់​យក​ទៅ​ប្រើការ​នៅ​កន្លែង​ផ្សេង​ៗ​ទៀត​។ វត្ថុ​ទាំងនោះ​ ត្រូវ​គេ​ឲ្យ​ឈ្មោះ​ថា​ជា​ វត្ថុ​មាន​ស្រាប់ (built-in object) ដែល​អាច​​​​ត្រូវ​យក​ទៅ​ប្រើ​នៅ​កន្លែង​ណា​​ក៏​បាន​ដែរ​។ យើង​នឹង​បាន​ស្គាល់​វត្ថុ​ទាំងនោះ​ នៅ​ពេល​បន្តិច​ទៀត​នេះ៕