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.
Web-Dev-For-Beginners/translations/ml/2-js-basics/2-functions-methods/assignment.md

73 lines
10 KiB

# ഫൺ വിത്ത് ഫങ്ഷൻസ്
## നിർദേശം
ഈ അസൈൻമെന്റിൽ, നിങ്ങൾ ജാവാസ്ക്രിപ്റ്റ് ഫങ്ഷനുകൾ, പാരാമീറ്ററുകൾ, ഡിഫോൾട്ട് മൂല്യങ്ങൾ, റിട്ടേൺ സ്റ്റേറ്റ്മെന്റുകൾ എന്നിവയെക്കുറിച്ച് പഠിച്ച് കൊണ്ടിരിക്കുന്ന ആശയങ്ങൾ ശക്തിപ്പെടുത്താൻ വ്യത്യസ്ത തരം ഫങ്ഷനുകൾ സൃഷ്ടിക്കാൻ പരിശീലനം നേടും.
`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` പാരാമീറ്ററുകൾ സ്വീകരിച്ച് പൂർണ്ണ പേരിന്റെ ഒരു സ്ട്രിങ്ങായി മടക്കണം.
### ഭാഗം 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. **നിങ്ങളുടെ ഒരു ഫങ്ഷനിന്റെ അദ്ധൂതര ഫങ്ഷൻ വേരിയന്റ് സൃഷ്ടിക്കുക**
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 -->