You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
9.0 KiB
73 lines
9.0 KiB
# រីករាយជាមួយមុខងារ
|
|
|
|
## សេចក្តីណែនាំ
|
|
|
|
ក្នុងការងារនេះ អ្នកនឹងអនុវត្តបង្កើតមុខងារប្រភេទផ្សេងៗ ដើម្បីរឹតបន្ថែមយល់ដឹងអំពីមុខងារ JavaScript, ប៉ារ៉ាម៉ែត្រ, តម្លៃលំនាំដើម និងការបញ្ជូនតម្លៃត្រឡប់។
|
|
|
|
បង្កើតឯកសារ JavaScript មួយឈ្មោះ `functions-practice.js` ហើយអនុវត្តមុខងារដូចខាងក្រោម៖
|
|
|
|
### ផ្នែកទី 1: មុខងារមូលដ្ឋាន
|
|
1. **បង្កើតមុខងារដែលមានឈ្មោះ `sayHello`** ដែលមិនទទួលប៉ារ៉ាម៉ែត្រណាមួយ និងបង្ហាញ "Hello!" ទៅកុងសូល។
|
|
|
|
2. **បង្កើតមុខងារដែលមានឈ្មោះ `introduceYourself`** ដែលទទួលប៉ារ៉ាម៉ែត្រឈ្មោះ `name` ហើយបង្ហាញសារដូចជា "Hi, my name is [name]" ទៅកុងសូល។
|
|
|
|
### ផ្នែកទី 2: មុខងារដោយមានប៉ារ៉ាម៉ែត្រលំនាំដើម
|
|
3. **បង្កើតមុខងារដែលមានឈ្មោះ `greetPerson`** ដែលទទួលប៉ារ៉ាម៉ែត្រ ២: `name` (បង្ហាញបណ្ដាចាំបាច់) និង `greeting` (ជាជម្រើស, តម្លៃលំនាំដើម = "Hello")។ មុខងារនេះគួរបង្ហាញសារដូចជា "[greeting], [name]!" ទៅកុងសូល។
|
|
|
|
### ផ្នែកទី 3: មុខងារដែលត្រឡប់តម្លៃ
|
|
4. **បង្កើតមុខងារដែលមានឈ្មោះ `addNumbers`** ដែលទទួលប៉ារ៉ាម៉ែត្រ ២ (`num1` និង `num2`) ហើយត្រឡប់តម្លៃសរុបរបស់ពួកវា។
|
|
|
|
5. **បង្កើតមុខងារដែលមានឈ្មោះ `createFullName`** ដែលទទួលប៉ារ៉ាម៉ែត្រ `firstName` និង `lastName` ហើយត្រឡប់តម្លៃឈ្មោះពេញជា string តែមួយ។
|
|
|
|
### ផ្នែកទី 4: លាយបញ្ចូលគ្នា
|
|
6. **បង្កើតមុខងារដែលមានឈ្មោះ `calculateTip`** ដែលទទួលប៉ារ៉ាម៉ែត្រ ២: `billAmount` (បង្ហាញបណ្ដាចាំបាច់) និង `tipPercentage` (ជាជម្រើស, តម្លៃលំនាំដើម = 15)។ មុខងារនេះគួរគណនានិងត្រឡប់តម្លៃថ្លៃចំនេញ។
|
|
|
|
### ផ្នែកទី 5: សាកល្បងមុខងារ
|
|
បន្ថែមការហៅមុខងារដើម្បីសាកល្បងមុខងារនីមួយៗ និងបង្ហាញលទ្ធផលដោយប្រើ `console.log()` ។
|
|
|
|
**ឧទាហរណ៍ការហៅសាកល្បង៖**
|
|
```javascript
|
|
// សាកល្បងឧបករណ៍របស់អ្នកនៅទីនេះ
|
|
sayHello();
|
|
introduceYourself("Sarah");
|
|
greetPerson("Alex");
|
|
greetPerson("Maria", "Hi");
|
|
|
|
const sum = addNumbers(5, 3);
|
|
console.log(`The sum is: ${sum}`);
|
|
|
|
const fullName = createFullName("John", "Doe");
|
|
console.log(`Full name: ${fullName}`);
|
|
|
|
const tip = calculateTip(50);
|
|
console.log(`Tip for $50 bill: $${tip}`);
|
|
```
|
|
|
|
## តារាងប្រឡង
|
|
|
|
| លក្ខណៈ | ល្អឥតខ្ចោះ | សមស្រប | ត្រូវការកែលម្អ |
|
|
| -------- | --------- | -------- | ----------------- |
|
|
| **ការបង្កើតមុខងារ** | មុខងារ 6 ទាំងអស់អនុវត្តបានត្រឹមត្រូវដោយមានសញ្ញាផ្ទាល់ខ្លួននិងរបៀបដាក់ឈ្មោះត្រឹមត្រូវ | មុខងារ 4-5 អនុវត្តបានត្រឹមត្រូវ ប៉ុន្តែមានបញ្ហាសញ្ញាផ្នែកតូចៗ | បង្កើតបាន 3 ឬតិចជាងនេះ ឬក៏មានកំហុសសញ្ញាផ្នែកធំនា |
|
|
| **ប៉ារ៉ាម៉ែត្រ និងតម្លៃលំនាំដើម** | ប្រើប៉ារ៉ាម៉ែត្របំពេញចាំបាច់, ជាជម្រើស និងតម្លៃលំនាំដើមត្រឹមត្រូវ | ប្រើប៉ារ៉ាម៉ែត្រត្រឹមត្រូវ ប៉ុន្តែអាចមានបញ្ហា តម្លៃលំនាំដើម | ការអនុវត្តប៉ារ៉ាម៉ែត្រមិនត្រឹមត្រូវ ឬខ្វះ |
|
|
| **តម្លៃត្រឡប់** | មុខងារដែលត្រូវត្រឡប់តម្លៃធ្វើបានត្រឹមត្រូវ ហើយមុខងារដែលមិនត្រូវត្រឡប់តម្លៃទេធ្វើតែមុខងារប៉ុណ្ណោះ | តម្លៃត្រឡប់ភាគច្រើនត្រឹមត្រូវ មានបញ្ហាបន្តិច | មានបញ្ហាធ្ងន់ធ្ងរជាមួយការបញ្ជូនតម្លៃត្រឡប់ |
|
|
| **គុណភាពកូដ** | កូដស្អាត មានរបៀបវិញ្ញាបនបត្រល្អ ឈ្មោះអថេរមានន័យ និងចំណុចដាក់សញ្ញាអក្សរសព្ទត្រឹមត្រូវ | កូដដំណើរការ តែក៏អាចស្អាត ឬរៀបចំប្រសើរជាងនេះ | កូដអានលំបាក ឬរៀបចំខុសគ្នា |
|
|
| **ការសាកល្បង** | មុខងារ ទាំងអស់បានសាកល្បងដោយការហៅមុខងារដោយសមរម្យ និងបង្ហាញលទ្ធផលយ៉ាងច្បាស់ | មុខងារច្រើនបានសាកល្បងយ៉ាងសមរម្យ | ការសាកល្បងមានកំណត់ ឬមិនត្រឹមត្រូវ |
|
|
|
|
## បញ្ហាបន្ថែម (ជាជម្រើស)
|
|
|
|
បើអ្នកចង់បញ្ចេញតម្រូវខ្លួនខាងមុខទៀត៖
|
|
|
|
1. **បង្កើតមុខងារ arrow function មួយនៃមុខងាររបស់អ្នក**
|
|
2. **បង្កើតមុខងារមួយដែលទទួលមុខងារផ្សេងទៀតជាប៉ារ៉ាម៉ែត្រ** (ដូចឧទាហរណ៍ setTimeout ពីមេរៀន)
|
|
3. **បន្ថែមការត្រួតពិនិត្យបញ្ចូល** ដើម្បីធានាថាមុខងាររបស់អ្នកដំណើរការជាប្រក្រតីនៅពេលបញ្ចូលខុសប្រក្រតី
|
|
|
|
---
|
|
|
|
> 💡 **គន្លឹះ**៖ សូមចងចាំបើកកុងសូលអ្នកអភិវឌ្ឍន៍របស់កម្មវិធីរុករក (F12) ដើម្បីមើលលទ្ធផលការបង្ហោះ `console.log()` របស់អ្នក!
|
|
|
|
---
|
|
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
|
|
**ការបដិសេធ**៖
|
|
ឯកសារនេះបានបម្លែងភាសាដោយប្រើសេវាកម្មបកប្រែ AI [Co-op Translator](https://github.com/Azure/co-op-translator)។ ទោះបីយើងខិតខំរកកំហុសឲ្យតិចបំផុតក៏ដោយ សូមយល់ដឹងថាការបកប្រែដោយស្វយ័តអាចមានកំហុសឬភាពមិនត្រឹមត្រូវ។ ឯកសារដើមនៅក្នុងភាសាដើមគួរត្រូវបានទទួលស្គាល់ថាជាផ្នែកមានសុទ្ឋិភាពខ្ពស់បំផុត។ សម្រាប់ព័ត៌មានសំខាន់ៗ ត្រូវបានផ្ដល់អនុសាសន៍ឲ្យបកប្រែដោយមនុស្សយ៉ាងម៉ត់ចត់វិជ្ជាជីវៈ។ យើងមិនទទួលខុសត្រូវចំពោះការយល់ច្រឡំ ឬការបកប្រែកំហុសណាមួយដែលកើតឡើងពីការប្រើប្រាស់ការបកប្រែនេះឡើយ។
|
|
<!-- CO-OP TRANSLATOR DISCLAIMER END --> |