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
10 KiB
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 --> |