প্রথম সংস্করণ:
for (var x in set) {
...
}
নামক একটি স্থানীয় ভেরিয়েবল ঘোষণা করে x। দ্বিতীয় সংস্করণ:
for (x in set) {
...
}
না.
যদি xইতিমধ্যে কোনও স্থানীয় পরিবর্তনশীল (যেমন আপনার বর্তমান সুযোগে আপনার এক var x;বা var x = ...;অন্য কোথাও আগে রয়েছে (যেমন বর্তমান ফাংশন)) তবে তারা সমান হবে। যদি xইতিমধ্যে স্থানীয় ভেরিয়েবল না হয় তবে দ্বিতীয়টি ব্যবহার করে স্পষ্টতই একটি গ্লোবাল ভেরিয়েবল ঘোষণা করা হবে x। এই কোডটি বিবেচনা করুন:
var obj1 = {hey: 10, there: 15};
var obj2 = {heli: 99, copter: 10};
function loop1() {
for (x in obj1) alert(x);
}
function loop2() {
for (x in obj2) {
loop1();
alert(x);
}
}
loop2();
আপনাকে সতর্ক করার জন্য এই আশা করতে পারে hey, there, heli, hey, there, copter, কিন্তু যেহেতু xএক এবং একই এটা সতর্ক হবে hey, there, there, hey, there, there। আপনি এটা চান না! var xআপনার forলুপগুলিতে ব্যবহার করুন ।
সর্বোপরি শীর্ষে: forলুপটি যদি বিশ্ব স্কোপে থাকে (যেমন কোনও ফাংশনে নয়) তবে স্থানীয় সুযোগ ( xআপনি যদি ব্যবহার করেন তবে সুযোগটি ঘোষিত হয় var x) বিশ্বব্যাপী স্কোপের মতোই (সুযোগটি xস্পষ্টভাবে ঘোষণা করা হয়) যদি আপনি xকোনও ভার ব্যতীত ব্যবহার করেন ), সুতরাং দুটি সংস্করণ অভিন্ন হবে।
varপুনরুক্তিকারীর ঘোষণা করার জন্য ব্যবহার করা হয় নিi:Uncaught ReferenceError: i is not defined। : / Webpack একইরূপে "বিশ্বব্যাপী" weirdly ভেরিয়েবল, আরো দেখুন জন্য: তাই আমি এখন থেকে এটি ব্যবহার হবে stackoverflow.com/a/40416826