প্রথম সংস্করণ:
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