# फङ्क्सनहरूसँग रमाइलो ## निर्देशनहरू यस असाइनमेन्टमा, तपाईंले विभिन्न प्रकारका फङ्क्सनहरू सिर्जना गर्ने अभ्यास गर्नुहुनेछ जसले तपाईंले JavaScript फङ्क्सनहरू, प्यारामिटरहरू, डिफल्ट मानहरू, र रिटर्न स्टेटमेन्टहरूको बारेमा सिकेका अवधारणाहरूलाई बलियो बनाउँछ। `functions-practice.js` नामको JavaScript फाइल सिर्जना गर्नुहोस् र निम्न फङ्क्सनहरू कार्यान्वयन गर्नुहोस्: ### भाग १: आधारभूत फङ्क्सनहरू 1. **`sayHello` नामको फङ्क्सन सिर्जना गर्नुहोस्** जसले कुनै पनि प्यारामिटर लिँदैन र केवल "Hello!" कन्सोलमा देखाउँछ। 2. **`introduceYourself` नामको फङ्क्सन सिर्जना गर्नुहोस्** जसले `name` प्यारामिटर लिन्छ र कन्सोलमा "Hi, my name is [name]" जस्तो सन्देश देखाउँछ। ### भाग २: डिफल्ट प्यारामिटरहरू भएको फङ्क्सनहरू 3. **`greetPerson` नामको फङ्क्सन सिर्जना गर्नुहोस्** जसले दुई प्यारामिटर लिन्छ: `name` (आवश्यक) र `greeting` (वैकल्पिक, डिफल्ट "Hello" छ)। फङ्क्सनले कन्सोलमा "[greeting], [name]!" जस्तो सन्देश देखाउनुपर्छ। ### भाग ३: मानहरू फर्काउने फङ्क्सनहरू 4. **`addNumbers` नामको फङ्क्सन सिर्जना गर्नुहोस्** जसले दुई प्यारामिटर (`num1` र `num2`) लिन्छ र तिनीहरूको योग फर्काउँछ। 5. **`createFullName` नामको फङ्क्सन सिर्जना गर्नुहोस्** जसले `firstName` र `lastName` प्यारामिटर लिन्छ र पूर्ण नामलाई एकल स्ट्रिङको रूपमा फर्काउँछ। ### भाग ४: सबैलाई मिसाउनुहोस् 6. **`calculateTip` नामको फङ्क्सन सिर्जना गर्नुहोस्** जसले दुई प्यारामिटर लिन्छ: `billAmount` (आवश्यक) र `tipPercentage` (वैकल्पिक, डिफल्ट १५ छ)। फङ्क्सनले टिप रकम गणना गरेर फर्काउनुपर्छ। ### भाग ५: तपाईंको फङ्क्सनहरू परीक्षण गर्नुहोस् प्रत्येक फङ्क्सन परीक्षण गर्न फङ्क्सन कलहरू थप्नुहोस् र `console.log()` प्रयोग गरेर परिणामहरू देखाउनुहोस्। **उदाहरण परीक्षण कलहरू:** ```javascript // Test your functions here 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}`); ``` ## मूल्यांकन मापदण्ड | मापदण्ड | उत्कृष्ट | पर्याप्त | सुधार आवश्यक | | -------- | --------- | -------- | ----------------- | | **फङ्क्सन सिर्जना** | सबै ६ फङ्क्सनहरू सही रूपमा कार्यान्वयन गरिएका छन् र उपयुक्त सिन्ट्याक्स र नामकरण परम्पराहरू छन् | ४-५ फङ्क्सनहरू सही रूपमा कार्यान्वयन गरिएका छन् तर साना सिन्ट्याक्स समस्याहरू छन् | ३ वा कम फङ्क्सन कार्यान्वयन गरिएका छन् वा ठूला सिन्ट्याक्स त्रुटिहरू छन् | | **प्यारामिटरहरू र डिफल्ट मानहरू** | आवश्यक प्यारामिटरहरू, वैकल्पिक प्यारामिटरहरू, र निर्दिष्ट डिफल्ट मानहरू सही रूपमा प्रयोग गरिएका छन् | प्यारामिटरहरू सही रूपमा प्रयोग गरिएका छन् तर डिफल्ट मानहरूसँग समस्या हुन सक्छ | प्यारामिटर कार्यान्वयन गलत वा हराएको छ | | **मानहरू फर्काउने** | जसले मानहरू फर्काउनुपर्छ तिनीहरूले सही रूपमा फर्काउँछन्, र जसले मानहरू फर्काउनुपर्दैन तिनीहरूले मात्र कार्यहरू गर्छन् | अधिकांश रिटर्न मानहरू सही छन् तर साना समस्याहरू छन् | रिटर्न स्टेटमेन्टहरूसँग महत्वपूर्ण समस्या छन् | | **कोडको गुणस्तर** | सफा, राम्रोसँग व्यवस्थित कोड जसमा अर्थपूर्ण भेरिएबल नामहरू र उचित इनडेन्टेशन छ | कोड काम गर्छ तर अझ सफा वा राम्रोसँग व्यवस्थित हुन सक्छ | कोड पढ्न गाह्रो छ वा खराब संरचित छ | | **परीक्षण** | सबै फङ्क्सनहरू उपयुक्त फङ्क्सन कलहरूसँग परीक्षण गरिएका छन् र परिणामहरू स्पष्ट रूपमा देखाइएको छ | अधिकांश फङ्क्सनहरू पर्याप्त रूपमा परीक्षण गरिएका छन् | फङ्क्सनहरूको सीमित वा गलत परीक्षण | ## बोनस चुनौतीहरू (वैकल्पिक) यदि तपाईं आफैंलाई थप चुनौती दिन चाहनुहुन्छ भने: 1. **तपाईंको फङ्क्सनमध्ये एकको एरो फङ्क्सन संस्करण सिर्जना गर्नुहोस्** 2. **अर्को फङ्क्सनलाई प्यारामिटरको रूपमा स्वीकार गर्ने फङ्क्सन सिर्जना गर्नुहोस्** (जस्तै पाठबाट `setTimeout` उदाहरणहरू) 3. **इनपुट मान्यकरण थप्नुहोस्** ताकि तपाईंको फङ्क्सनहरूले अमान्य इनपुटहरूलाई राम्रोसँग ह्यान्डल गर्न सकून् --- > 💡 **सुझाव**: तपाईंको `console.log()` स्टेटमेन्टहरूको आउटपुट हेर्नको लागि ब्राउजरको डेभलपर कन्सोल (F12) खोल्न नबिर्सनुहोस्! --- **अस्वीकरण**: यो दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) प्रयोग गरेर अनुवाद गरिएको छ। हामी शुद्धताको लागि प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादमा त्रुटिहरू वा अशुद्धताहरू हुन सक्छ। यसको मूल भाषा मा रहेको दस्तावेज़लाई आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं।