វិធី​ក៏​ជា​ក្បួន​ ដូច​ជា​ក្បួន​ដទៃ​ទៀត​នៅ​ខាងក្រៅ​ថ្នាក់​ដែរ តែ​វិធី​ខុស​ពី​ក្បួន​ទាំងនោះ​នៅ​ត្រង់​ថា នៅ​ពេល​ដែល​វិធី​ត្រូវ​បាន​យក​ទៅ​ប្រើ​តាមរយៈ​សិស្ស​ណា​មួយ សិស្ស​នោះ​នឹង​ត្រូវ​ផ្តល់​ជា​ដំណឹង​​ឲ្យ​ទៅ​​វិធី​នោះ​ជា​ស្វ័យ​ប្រវត្តិ​។ ដូចនេះ​នៅក្នុង​វិធី ក្រៅ​ពី​ដំណឹង​ផ្សេង​ៗ ដែល​យើង​បាន​ផ្តល់​ឲ្យ​ទៅ​វិធី នៅ​មាន​ដំណឹង​​​ជា​សិស្ស​មួយ​ទៀត ដែល​មាន​រួច​ជាស្រេច​នៅ​ក្នុង​វិធី​។ ដំណឹ​ងដែល​ជា​សិស្ស​​នោះ​ត្រូវ​បាន​ភ្ជាប់​ទៅ​នឹង​ដំណាង​មើល​មិន​ឃើញ​មួយ ដែល​ជា​ពាក្យ​ពិសេស​ថា this ។ ដូចនេះ​​បើ​យើង​ចង់​យក​ដំណឹង​ដែល​ជា​សិស្ស​នោះ​ទៅ​ប្រើ​ការ​ផ្សេង​ៗ​នៅ​ក្នុង​វិធី យើង​ចាំបាច់​ត្រូវ​​តែ​យក​វា​មក​ប្រើ​តាមរយៈ​ឈ្មោះ this នេះ​។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ​៖

 

//ការបង្កើត​ក្បួន​ទទេ​មួយ​មានឈ្មោះ​ថា Area 
function Area(){};
 
//ការយក​ក្បួន​ឈ្មោះ​ Area មក​ប្រើ​ជា​ថ្នាក់​សំរាប់​រក្សា​ទុក​​វត្ថុ​និងឬ​អថេរ​ផ្សេង​ៗ​
Area.prototype.pi = 3.14;
Area.prototype.rectangle = function(width, height){
  var surface = width * height;
  console.log('ក្រឡាផ្ទៃ​ចតុកោណកែង​គឺ​៖ '+surface);
   
  //ការយក​សិស្ស​មក​ប្រើ
  console.log('this គឺ​ជា​ឈ្មោះ​របស់​សិស្ស​៖ '+this);
}
 
//ការបង្កើត​សិស្ស​នៃ​ថ្នាក់ Area
var instance = new Area();
 
//ការយក​សម្បត្តិ​​ក្នុង​ថ្នាក់ Area មក​ប្រើ
console.log(instance.rectangle(25, 5));

 

នៅ​លើ​បន្ទាត់​លេខ 11 ការសរសេរ​ថា 'this គឺ​ជា​ឈ្មោះ​របស់​សិស្ស​៖ '+this គឺ​ជា​បញ្ជា​ដែល​នៅ​ក្នុង​នោះ​​មាន​ការតម្រូវ​ឲ្យ​​យក​សិស្ស​ឈ្មោះ instance មក​ប្រើ​តាម​រយៈ​ឈ្មោះ​ this ដែល​ជា​ឈ្មោះ​មើល​មិន​ឃើញ​មួយ​នៅ​ក្នុង​គ្រប់​វិធី​ទាំងអស់​។

 

យើង​ក៏​ត្រូវ​ធ្វើ​ការកត់សម្គាល់​ផង​ដែរ​ថា ដំណឹង​ដែល​ជា​សិស្ស​នឹង​ត្រូវ​ផ្តល់​ឲ្យ​ទៅ​គ្រប់​វិធី​ទាំងអស់​ជា​ស្វ័យប្រវត្តិ​​ នៅ​​ពេល​ដែល​វិធី​ទាំងនោះ​ត្រូវ​បាន​យក​ទៅ​ប្រើ​តាមរយៈ​សិស្ស​នោះ​។ ក៏​ប៉ុន្តែ​ការយក​សិស្ស​នោះ​ទៅ​ប្រើការ​​នៅ​ក្នុង​វិធី​ឬ​អត់ គឺ​គ្មាន​បញ្ហា​អ្វី​ឡើយ​។​ គឺ​ប្រៀបបាន​ដូច​ជា​វត្ថុ​មួយ​ដែល​គេ​ប្រគល់​ឲ្យ​យើង ហើយ​យើង​យក​វា​ទៅ​ប្រើ​ឬ​អត់​ គឺ​គ្មាន​បញ្ហា​អ្វី​ឡើយ​។

 

មួយ​វិញ​ទៀត យើង​បាន​ដឹង​រួច​មក​ហើយ​ថា គ្រប់​ការយក​សម្បត្តិ​នៅ​ក្នុង​ថ្នាក់​ណា​មួយ​ទៅ​ប្រើការ​នៅ​ខាង​ក្រៅ​ថ្នាក់ គឺ​ត្រូវ​តែ​ធ្វើ​ឡើង​តាមរយៈ​សិស្ស​នៃ​ថ្នាក់​នោះ​។ ដូច​គ្នា​ដែរ ការយក​វិធី​ណា​មួយ​ទៅ​ប្រើ​នៅ​ក្នុង​វិធី​ណាមួយ​ផ្សេង​ទៀត ក៏​ត្រូវ​ធ្វើ​ឡើង​តាមរយៈ​សិស្ស​​នៃ​ថ្នាក់​របស់​វិធី​ទាំងនោះ​ដែរ​។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ​៖

 

//ការបង្កើត​ក្បួន​ទទេ​មួយ​មានឈ្មោះ​ថា Area 
function Area(){};
 
//ការយក​ក្បួន​ឈ្មោះ​ Area មក​ប្រើ​ជា​ថ្នាក់​សំរាប់​រក្សា​ទុក​​វត្ថុ​និង​ឬ​អថេរ​​ផ្សេង​ៗ​
Area.prototype.pi = 3.14;
Area.prototype.rectangle = function(width, height){
  var surface = width * height;
  return surface;
}
Area.prototype.display = function(){
  //ការយក​វិធី​ក្នុង​ថ្នាក់ Area មក​ប្រើ​តាម​រយៈ​ឈ្មោះ this
  console.log('ក្រឡាផ្ទៃ​ចតុកោណកែង​គឺ​៖ '+this.rectangle(25, 5));
}
 
var instance = new Area();
instance.display();

 

នៅ​លើ​បន្ទាត់​លេខ 12 ការសរសេរ​ថា this.rectangle(25, 5) គឺ​ជា​បញ្ជា​តម្រូវ​ឲ្យ​យក​វិធី​ឈ្មោះ rectangle នៅ​ក្នុង​ថ្នាក់​ឈ្មោះ Area មក​ប្រើ​នៅ​ក្នុង​វិធី​ឈ្មោះ display នៅ​ក្នុង​ថ្នាក់​ដដែល​នោះ​។ វិធី​ឈ្មោះ rectangle ត្រូវ​បាន​យក​មក​ប្រើ​តាមរយៈ​ឈ្មោះ this ៕