there is two type of scope in javascript named function scope global scope
now i am executing this code
function abc()
{
alert(this)
Your function is under global(window) object. I mean,
function abc()
{
alert(this);
}
abc();
// or You can either call by
window.abc()
You can write your function under custom object
// Function under custom object
var customObj = {
abc : function () {
alert(this);
}
};
customObj.abc()
The this keyword refers to the object the function belongs to, or the window object if the function belongs to no object.
Reference
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this
this, inside any function, will be the object on which the function is invoked. In your case, you are not invoking it on any object. So, by default this refer to global object, in your browser, it is the window object.
But in strict mode, if you invoke it like this, this will be undefined.
"use strict";
function abc() {
console.log(this); // undefined
}
abc();
Or
function abc() {
"use strict";
console.log(this); // undefined
}
abc();