//this refer to global object or window object
//but when we call this inside method of object it refers to current object
console.log(this===window)//true
let user = {
name: "Shirshak",
age: 25,
sayHi() {
// "this" is the "current object"
console.log(this.name); //print shirshak
}
};
// In web browsers, the window object is also the global object:
console.log(this === window); // true
a = 37;
console.log(window.a); // 37
this.b = "MDN";
console.log(window.b) // "MDN"
console.log(b) // "MDN"
// this keyword
// This keyword belongs to the object it belongs to
// (1).Alone, this refers to the global object.
// (2).In a regular function,this refers to the global object.
// (3).In a method, this refers to the owner object.
// 1
console.log(this);
// 2
function abc() {
console.log(this);
}
abc();
// 3
const obj = {
name: "Abhishek",
no: 1,
sum: function (a, b) {
console.log("hello sum", a + b);
console.log("this:::", this);
console.log("this name:::", this.name);
},
};
obj.sum(4, 3);
/*In general, the 'this' references the object of which the function is a property.
In other words, the 'this' references the object that is currently calling the function.
Suppose you have an object called 'counter' that has a method 'next()'.
When you call the 'next()' method, you can access the this object. */
let counter = {
count: 0,
next: function () {
return ++this.count;
},
};
counter.next();
//Inside the next() function, the this references the counter
Code language: JavaScript (javascript)
// In JavaScript, the this keyword refers to an object.
const person = {
firstName: "John",
lastName : "Doe",
id : 5566,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
// Im Webbrowser ist das window Objekt das globale Objekt:
console.log(this === window); // true
a = 37;
console.log(window.a); // 37
this.b = "MDN";
console.log(window.b); // "MDN"
console.log(b); // "MDN"
var colours = ['red', 'green', 'blue'];
document.getElementById('element').addEventListener('click', function() {
// this is a reference to the element clicked on
var that = this;
colours.forEach(function() {
// this is undefined
// that is a reference to the element clicked on
});
});
document.querySelector("button.w").addEventListener("click", function () {
this.style.color = "white";
});
// In HTML event handlers, this refers to the HTML element that received the event:
// when clicked color of the element would change to white,
// document.querySelector("button.w") indentifies the element.