অবজেক্টটি কিছু স্কোপে বিদ্যমান, সুতরাং আপনি প্রায়শই এই সিনট্যাক্সের মাধ্যমে চলকটি অ্যাক্সেস করতে পারেন:
var objname = "myobject";
containing_scope_reference[objname].some_property = 'some value';
আপনি যখন ক্লোসড স্কোপে থাকবেন এবং আপনি শীর্ষ স্তরের স্থানীয় ভেরিয়েবল অ্যাক্সেস চান তখন কেবল এই জায়গাটিই জটিল হয়ে ওঠে। আপনার যখন এই জাতীয় কিছু থাকে:
(function(){
var some_variable = {value: 25};
var x = "some_variable";
console.log(this[x], window[x]);
})();
আপনি করতে পারেন ব্যবহার করে যে কাছাকাছি পেতে evalপরিবর্তে বর্তমান সুযোগ শৃঙ্খল অ্যাক্সেস করতে ... কিন্তু আমি এটা বলতে না করার পরীক্ষার অনেক কাজ করেছি এবং আপনি জানেন যে জিনিস সম্পর্কে যেতে এটি সর্বোত্তম উপায়।
(function(){
var some_variable = {value: 25};
var x = "some_variable";
eval(x).value = 42;
console.log(some_variable);
})();
তোমার শ্রেষ্ঠ বাজি সর্বদা চালু টু হতে-সেখানে বস্তু (মত একটি নাম একটি রেফারেন্স থাকতে হয় thisবিশ্বব্যাপী সুযোগ বা স্থানীয় সুযোগ একটি ব্যক্তিগত টপ লেভেল পরিবর্তনশীল) ও করা সবকিছু সেখানে অন্য।
এইভাবে:
var my_outer_variable = {};
var outer_pointer = 'my_outer_variable';
(function(){
var my_inner_scope = {'my_inner_variable': {} };
var inner_pointer = 'my_inner_variable';
})();
alert(this === window)।