JavaScript: Context or Scope
Scope is very confusing specially when we are working on big application. But it's a very useful feature. When function is the part of the object var obj = { isUsed: false, use: function(){ this.isUsed = true; } }; -> obj.use(); -> obj.isUsed; //ans: true What is the context or scope Context or Scope is the boundary where your code executes. var x = 10; function test(){ x = 20; //updated the global vlaue } -> alert(x); //ans: 10 -> test(); -> alert(x); //ans: 20 When 'x' is local variable !!! var x = 10; function test(){ var x = 20; //now x is a local variable of test function } -> alert(x); //ans: 10 -> test(); -> alert(x); //ans: 20 We can change the scope of the function while calling it function fn(){ this.myProperty = 'test'; } -> fn(); -> this.myProperty; //ans: test -> window.myProperty: //ans: test -> myProperty; //ans: test When you run the function 'fn' it will run in globa