) JavaScript中常常使用this,说明this的用途并分别给出其示例
时间: 2023-05-31 22:02:03 浏览: 43
在JavaScript中,this是一个关键字,用于指向当前对象。它的用途如下:
1. 在函数中,this指向调用该函数的对象。
示例:
```
var person = {
name: "John",
age: 30,
greet: function() {
console.log("Hello, my name is " + this.name + " and I am " + this.age + " years old.");
}
};
person.greet(); // 输出:Hello, my name is John and I am 30 years old.
```
2. 在构造函数中,this指向即将被创建的对象。
示例:
```
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
console.log("Hello, my name is " + this.name + " and I am " + this.age + " years old.");
}
}
var john = new Person("John", 30);
john.greet(); // 输出:Hello, my name is John and I am 30 years old.
```
3. 在全局作用域中,this指向全局对象(在浏览器中为window对象)。
示例:
```
console.log(this); // 输出:Window(浏览器中)
```
4. 在事件处理程序中,this指向触发事件的元素。
示例:
```
var button = document.querySelector("button");
button.addEventListener("click", function() {
console.log(this); // 输出:HTMLButtonElement
});
```
5. 在箭头函数中,this指向它所在的词法作用域中的this,也就是箭头函数声明时所在的上下文。
示例:
```
var person = {
name: "John",
age: 30,
greet: function() {
var hello = () => {
console.log("Hello, my name is " + this.name + " and I am " + this.age + " years old.");
}
hello();
}
};
person.greet(); // 输出:Hello, my name is John and I am 30 years old.
```