在JavaScript中,this关键字是非常重要的一个概念,它代表当前函数执行的上下文,也就是当前函数所在的对象或者是全局对象。
在全局作用域下使用this,它指向的是window对象,这个时候this等同于window,比如:
console.log(this === window); //true
在函数调用时,this指向的是函数所属的对象,即在函数上下文中,this指向的是最后调用这个方法的对象,比如:
var obj = {name: 'Tom',sayName: function() {console.log(this.name);}};obj.sayName(); // Tom在事件处理函数中,this指向的是触发事件的元素,比如:
var btn = document.getElementById('btn');btn.addEventListener('click', function() {console.log(this); //btn});如果单独使用函数,this指向的是全局对象,比如:
function sayName() {console.log(this.name);}sayName(); //undefined如果使用new关键字创建一个对象,this指向新创建的对象,比如:
function Person(name) {this.name = name;}var person = new Person('Tom');console.log(person.name); //Tom在箭头函数中,this指向的是父级作用域中的this,比如:
var obj = {name: 'Tom',sayName: () => {console.log(this.name);}};obj.sayName(); //undefined总结一下,this指向的是当前执行上下文的对象,它的具体指向取决于它所处的环境,需要根据具体情况进行理解和使用。
上一篇:css招聘启事代码
下一篇:javascript中全局函数吗









