How to JavaScript and Browser works
ইন্টারনেটে সবকিছুরি এক একটা নিজেস্ব Unique address আছে যাকে IP address বলে
তুমি তোমার নিজের আইপি অ্যাড্রেস দেখতে চাইলে গুগলে সার্চ কর what is my ip address (IPv6 = internet protocol version number 6)
অনেকেগুলো সার্ভার একসাথে থাকলে তাকে ডাটা ছেন্টারও বলে
DOM (Document Object Model HTML ফাইলে একটা ট্রি এর মত করে কাজ করে )
ঠিক একই কাজ করে সিএসএস এর ক্ষেত্রেও
এই DOM এর tree আর CSS এর স্টাইল Tree মিলে তৈরি হয় Render tree . তাহলে কি এই Render ? Render সহজ ভাষায় বলতে গেলে বলা জেতে পারে কোণ একটা কিছু দেখানো বা final output তাকে দেখানো । জাভা ভিডিও এডিট করে Animetion এর কাজ করে তারা কাজ শেষে তার কাজটা দেখা জন্য কিন্তু render দেই । তারপর সিএসএস এর মাধ্যমে paint করে ।
তাহলে সব মিলিয়ে আসলে কি হচ্ছে সেটা একটু বোঝার চেষ্টা করি
আমরা ডিসপ্লেটে যা দেখতে পাই সেটাকে User Interface বলে
জাভাসচ্রিপ্ট এর V8 engile C++ দিয়ে তৈরি করা । (JS browser এ চলে V8 engine দিয়ে )
|
setTimeOut() এর কাজ কি ? ব্যাবহার করে দেখাও । (API মুলত setTimeOut() এর মতই কাজ করে । একদিকে API লোড হয় অন্যদিকে সহজ সরল কাজ গুলো করে ফেলে ) setTimeOut() ও API asynchronous, synchronous না । console.log() synchronous ।
আমরা setTimeOut() এর ব্যাবহার দেখেছি । এর একটা খালাত ভাই আছে যার নাম setInterval() । setInterval() এর কাজ হল , আগে setTimeOut() এর কাজটা কিভাবে করে সেটা বুঝি । setTimeOut() একবার আউটপুট দিয়ে বন্ধ হয়ে যায় । কিন্তু setInterval() সেটা করে না সে continually চলতে থাকে ।
console.log("first"); setInterval(() => { console.log("i am from set interval"); }, 1000); console.log("second"); |
setInterval() চলতে লাগলে চলতেই থাকে । একে বন্ধ করার উপায় কি ? একটা উপাই আছে । clearInterval করে দিতে হবে ।setInterval() এ একটা আইডি পাওয়া যাবে যাকে clearInterval করে দিলেই থেকে যাবে। (
console.log("first"); let counter = 0; const intervalID = setInterval(() => { counter++; console.log(counter); console.log(counter++); // এটা করলে কি হচ্ছে scope এর বাইরের counter এর মান ০ নিয়ে console এ দেখাচ্ছে তার পর এক এক করে বাড়াচ্ছে । সেটা না করে আগে মান বাড়াবে তারপর আউটপুট দিবে এমন দেখতে চাইলে নিচে pre-incremental ফলো কর console.log(++counter); if (counter > 15) { clearInterval(intervalID); } }, 1000); console.log("second"); |
আর আমার github এ যাইতে চাইলে এই লিঙ্কে ক্লিক করুন
About
Md: Rashedul Islam Shihab Writer of this note Batch4 Social accounts |

Post a Comment (0)