JavaSrcipt之this的用法简介

JavaSrcipt之this的用法简介

在JavaScript中,this关键字是一个非常重要的概念,它表示当前执行上下文中的对象。在不同的上下文和函数中,this的值是不同的。让我们来详细介绍this的用法:

1)全局上下文中

在全局上下文中(即不在任何函数内部),this关键字指向全局对象,在浏览器中,通常指向window对象。例如:

javascript`var globalVar = 10;  
function test() {  
    console.log(this.globalVar);  // 输出 10  
    console.log(window.globalVar); // 输出 10  
}`

在这个例子中,我们声明了一个全局变量globalVar,然后在一个函数test中使用this和window访问这个变量。可以看到,this和window在这里是等价的。

2)函数上下文中

在函数内部,this关键字也指向当前执行上下文中的对象。通常来说,它是调用该函数的对象的引用。例如:

javascript`var obj = {  
    value: 20,  
    func: function() {  
        console.log(this.value); // 输出 20  
    }  
};  
obj.func(); // 调用func方法时,this指向obj对象

3)方法调用中

当一个方法被一个对象调用时,this关键字指向调用该方法的对象。例如:

javascript`var obj = {  
    value: 30,  
    getIt: function() {  
        return this.value;   
    }  
};  
console.log(obj.getIt()); // 输出 30,因为getIt方法中的this指向obj对象

4)构造函数中

在构造函数中,this关键字用于创建新对象并将新对象的属性绑定到this上。例如:

javascript`function MyObject() {  
    this.value = 40; // 为新对象添加属性value  
}  
var myObj = new MyObject(); // 创建一个新的MyObject实例,并赋值给myObj变量,此时myObj对象的value属性值为40  
console.log(myObj.value); // 输出 40

你可能感兴趣的:(javascript,开发语言,ecmascript)