js.zonayed.me
js.zonayed.me copied to clipboard
জাভাস্ক্রিপ্টঃ ব্যাসিক ফাংশন
জাভাস্ক্রিপ্টঃ ব্যাসিক ফাংশন | হাতেকলমে জাভাস্ক্রিপ্ট
ধরুন আপনি ২ যোগ ২ এ কতো রেজাল্ট আসে সেটা জানতে চাচ্ছেন। এর জন্যে কয়েক লাইন কোড লিখলেন এবং রেজাল্টও ঠিকঠাক আসলো। এখন আবার পরে ৪ যোগ ৪ এ কতো আসে সেটা জানতে চাইলেন, তো এখন কি করবেন? আবার কিছু লাইন কোড লিখবেন। কিন্তু দেখুন এখানে বারবার আপনি দুইটা ডিজিটের যোগফলই বের করতে চাচ্ছেন। এখন […]
Thanks.
Thanks❤
Dhunnobad vay.
ভাই আপনি এইখানে বলসেন যে..................এখন জাভাস্ক্রিপ্ট এ যেহেতু ফাংশনকে ফার্স্ট ক্লাশ ফাংশন ধরা হয় তাই আপনি চাইলে একটা ফাংশনকে আরেকটা ফাংশনের আর্গুমেন্ট হিসেবে পাস করতে পারবেন।
code:.... function callMyName(name, callback) { var myAge = 20; callback(myAge); console.log('Is it interesting? Yes it is Mr.' + name); }
function hello(age) { console.log('I am passed through argument and my age is: ' + age); }
callMyName('Zonayed Ahmed', hello);
problem:........ এইখানে 2nd function e parameter নিলেন age এবং এই age টা এ output এ 20 দেখাচ্ছে কিন্তু কিভাবে? এইখানে তউ age দিয়ে কোন কিছু declare করা হয় নাই। করা হয়েছে (myAge = 20) দিয়ে। যদি একটু বুঝিয়ে বলতেন। আর আরেকটা কথা ভাই, যদি 2nd function e parameter myAge হিসাবে নেই ওইটাও কাজ করে।
ভাই আপনি এইখানে বলসেন যে..................এখন জাভাস্ক্রিপ্ট এ যেহেতু ফাংশনকে ফার্স্ট ক্লাশ ফাংশন ধরা হয় তাই আপনি চাইলে একটা ফাংশনকে আরেকটা ফাংশনের আর্গুমেন্ট হিসেবে পাস করতে পারবেন।
code:.... function callMyName(name, callback) { var myAge = 20; callback(myAge); console.log('Is it interesting? Yes it is Mr.' + name); }
function hello(age) { console.log('I am passed through argument and my age is: ' + age); }
callMyName('Zonayed Ahmed', hello);
problem:........ এইখানে 2nd function e parameter নিলেন age এবং এই age টা এ output এ 20 দেখাচ্ছে কিন্তু কিভাবে? এইখানে তউ age দিয়ে কোন কিছু declare করা হয় নাই। করা হয়েছে (myAge = 20) দিয়ে। যদি একটু বুঝিয়ে বলতেন। আর আরেকটা কথা ভাই, যদি 2nd function e parameter myAge হিসাবে নেই ওইটাও কাজ করে।
প্রথমের ফাংশন ডিক্লেইয়ারেশনগুলোর কথা ভুলে যান... সরাসরি ফাংশন কলে চলে যান। যখন আমরা callMyName('Zonayed Ahmed', hello); কল করলাম দুইটা আর্গুমেন্ট দিয়ে, সেখানে আমরা hello ফাংশনটাকেও দ্বিতীয় আর্গুমেন্ট হিসেবে পাস করেছি। এখন callMyName ফাংশনের ভিতরে যান। প্যারামিটার আছে দুইটা। তারমধ্যে দ্বিতীয়টা হচ্ছে callback যেটা আমরা এই ফাংশন কলের সময় hello ফাংশনটা পাস করেছি। এখন callMyName এর ভিতরে দ্বিতীয় লাইনে আমরা callback ফাংশনটা কল করেছি, যেটা মূলত এখানে hello ফাংশনটাই কল হয়েছে। আর এখানে আমরা আর্গুমেন্ট দিয়েছি myAge, যেটার ভ্যালু হচ্ছে 20। hello, age হিসেবে সেটা রিসিভ করছে, আর আউটপুটেও ঠিক তাই(20) দেখাচ্ছে। আশা করি এবার বুঝতে পেরেছেন... তারপরেও কনফিউশন থেকে গেলে অবশ্যই জানাবেন...
এইবার একদম ক্লিয়ার :):):):)
Thanks
function callMyName(name, callback) { var myAge = 20; callback(myAge); console.log('Is it interesting? Yes it is Mr.' + name); }
function hello(age) { console.log('I am passed through argument and my age is: ' + age); }
callMyName('Zonayed Ahmed', hello);
aitr output tai laster function tar output porthome ar porthom tr laste astese.aita keno???
@Lihazi / মেইন ফাংশন থেকে যখন প্রথম ফাংশন টা কল করা হয়েছে এবং দুইটা আর্গুমেন্ট দেওয়া হয়েছে তখন দ্বিতীয় ফাংশন টা প্রথম ফাংশনের দ্বিতীয় প্যারামিটার হিসেবে দেওয়া হয়েছে। আর ৩ নাম্বার লাইনে দেখেন callback প্যারামিটার টা মানে দ্বিতীয় ফাংশন টা কল হয়ে গিয়েছে তাই দ্বিতীয় ফাংশনের কাজ শেষ করে প্রথম ফাংশনের বাকি স্টেট্মেন্ট কাজ করেছে ।
@zamanrabeen671 vaia thnx bujte parsi!!
@zonayedpca vaia
function welcomeMsg(name) { console.log('Welcome Mr. ' + name); return function options(menu) { console.log('Do you like ' + menu + ' Mr. ' + name); } }
welcomeMsg('Zonayed Ahmed')('Coffee');
aii function tai jei return desen sheikhane function desen.
akhon aikhane ami duita jinish buji nai 1.return e je function sheita 2. welcomeMsg('Zonayed Ahmed')('Coffee') aitr ditiyo parenthesis ta.aita kivabe kaj kore oita buji nai.
ai 2ta jinish jodi aktu bujiye deten!!
Good
function callMyName(name, callback) { var myAge = 20; callback(myAge); console.log('Is it interesting? Yes it is Mr.' + name); }
function hello(age) { console.log('I am passed through argument and my age is: ' + age); }
callMyName('Zonayed Ahmed', hello);
এইখানে প্রথম লাইনে callMyName(name, callback) -এ callback হল ফাংশনটির সেকেন্ড প্যারামিটার। কিন্তু ফাংশনটির ভিতরে আবার (তৃতীয় লাইনে) callback(myAge) এটা কিভাবে লিখলেন? ফাংশনের সিনট্যাক্স যেরকম : ফাংশন(প্যারামিটার ১, প্যারামিটার ২....), সেই একইভাবে ফাংশনের সেকেন্ড ব্র্যাকেটের ভিতরে ফাংশনের দ্বিতীয় প্যারামিটার callback কি হিসেবে ব্যবহৃদ হচ্ছে? আবার কলব্যাকের সাথে ফার্স্ট ব্র্যাকেটি দিয়ে ভিতরে আগে থেকে ডিক্লেয়ার করা ভ্যারিয়েবল myAge নিয়েছেন। পুরো ঘটনাটা কনফিউজিং!
function changeValue(a) { console.log('Value of a inside function before changing: ' + a); a = 10; console.log('Value of a inside function after changing: ' + a); return a; }
var a = 100; console.log('Value of a before changing function is applied: ' + a); changeValue(a); console.log('Value of a after changing function is applied: ' + a);
ei ta ami bujtei parchi na..ektu sohoj kore bolun plz..thank you..
function callMyName(name, callback) {
var myAge = 20;
callback(myAge);
console.log('Is it interesting? Yes it is Mr.' + name);
}
function hello(age) {
console.log('I am passed through argument and my age is: ' + age);
}
callMyName('Zonayed Ahmed', hello);
প্রশ্নঃ
আমার জানা মতে জাভাস্ক্রিপ্ট ফাংশনের ভেতর মেনশন করা ভ্যারিয়েবলকে অ্যানোনিমাসলি দেখে, অর্থাৎ আমি ফাংশনের ভেতরে কী নামে ভ্যারিয়েবল ডিক্লেয়ার করলাম সেটা জাভাস্ক্রিপ্ট লক্ষপাত করে না।
এখানে hello ফাংশনে age হিসেবে myAge ভ্যারিয়েবলের ভ্যালুটাই নিচ্ছে। তাহলে কি আমরা বলতে পারি যে জাভাস্ক্রিপ্ট এখানে age এবং myAge কে একইভাবে দেখছে?
বি.দ্রঃ কন্সেপ্টে ভুল থাকলে বিনীতভাবে ধরিয়ে দিবেন