JavaScript this关键字

JavaScript

this 关键字

什么是 this

  • JavaScript中的 this 关键字指的是它所属的对象

  • 拥有不同的值,具体取决于使用this关键字的位置

    在方法中,this指的是(方法)所有者的对象

    在单独的情况下,this指的是全局对象

    在函数中,this指的是全局对象(严格模式:undefined)

    在事件中,this指的是接收事件的对象

方法中的 this

fullName : function() {
    return this.firstName + " " + this.lastName ;
}

单独的 this

  • 单独使用时,this指的是全局对象;在浏览器窗口中,全局对象是 object Window

函数中的 this(默认)

function myFunction() {
    return this;
}

事件处理程序中的 this

  • 在HTML事件处理程序中,this 指的是接收此事件的HTML元素
<button onclick = "this.style.display = 'none' ">
    点击删除;
</button>

对象方法绑定

var person = {
    firstName : "Mirror",
    lastName  : "China",
    id 		  : 10086,
    fullName  : function() {
        return this.firstName + " " + this.lastName ;
    }
};

this.firstName 意味着 this person 对象中的 firstName和lastName属性

显式函数 绑定

  • call() 和 apply() 方法是预定义的JavaScript方法;可以用于将另一个对象作为参数调用对象方法
var person1 = {
    fullName : function() {
        return this.firstName + " " + this.lastName ;
    }
};
var person2 = {
    firstName : "Mirror" ,
    lastName  : "China" ,
};
person1.fullName.call(person2) ; // person2将会作为参数供person1调用
posted @ 2019-06-25 09:49  Mirror王宇阳  阅读(160)  评论(0编辑  收藏  举报