ক্ষমা করুন যদি এটি কোনও পয়েন্ট যুক্ত করার পদ্ধতির ভুল উপায় হয়। আমি এখানে খুব বেশি কিছু পাইনি, এবং গঠনমূলক দিকনির্দেশ এবং / বা সমালোচনাকে স্বাগত জানাব।
বেঞ্জামিনের উত্তরটি ওপির প্রশ্নটিকে দুর্দান্তভাবে সম্বোধন করেছে, তবে আমি একটি টুইট করতে চাই যা আমাদের উত্তোলন এবং এর বৈচিত্র্যগুলির একটি সম্পূর্ণ সফর দেবে।
যদি আমরা কলটি দিয়ে মূল কোডটি শুরু করি f
, তবে:
f();
var f = function() {
console.log("Me original.");
};
function f() {
console.log("Me duplicate.");
}
f();
আউটপুটটি তখন হবে:
Me duplicate.
Me original.
কারণ var
এবং function
বিবৃতিগুলি কিছুটা ভিন্ন উপায়ে উত্তোলন করা হয়।
জন্য ঘোষণা বর্তমান সুযোগ * উপরের চলে যায়, কিন্তু কোনো কাজ উত্তোলন করা হয় না। ঘোষিত ভেরার মান যতদূর যায়, মূল অ্যাসাইনমেন্ট লাইনটি না পৌঁছানো পর্যন্ত এটি অপরিজ্ঞাত।var
জন্য function
বিবৃতি , উভয় ঘোষণা এবং সংজ্ঞা উত্তোলন করা হয়। কনস্ট্রাক্ট হিসাবে ব্যবহৃত ফাংশন এক্সপ্রেশন , var f = function() {...
উত্তোলন করা হয় না।
উত্তোলনের পরে, মৃত্যুদন্ড কার্যকর করার মতো কোডটি ছিল:
var f;
function f() {
console.log("Me duplicate.");
}
f();
f = function() {
console.log("Me original.");
}
f();
* সমস্ত জাভাস্ক্রিপ্ট স্কোপ লেক্সিকাল, বা ফাংশন, স্কোপ, তবে দেখে মনে হয়েছিল এটি কেবলমাত্র শব্দটিকে ব্যবহার করতে বিভ্রান্ত করবে point