温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JavaScript中的this关键字是什么及怎么用

发布时间:2022-09-26 14:53:41 来源:亿速云 阅读:114 作者:iii 栏目:开发技术

今天小编给大家分享一下JavaScript中的this关键字是什么及怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

例子

const person = {  firstName: "John",  lastName : "Doe",  id       : 5566,  fullName : function() {    return this.firstName + " " + this.lastName;
  }
};

这是什么?

在 JavaScript 中,this关键字指的是一个对象。

哪个对象取决于this调用(使用或调用)的方式。

this关键字根据其使用方式指代不同的对象:

在对象方法中,this指的是对象。

单独,this指的是全局对象。

在函数中,this指的是全局对象。

在严格模式下的函数中,this是undefined.

在一个事件中,this指的是接收到该事件的元素。

像call()、apply()和这样的方法bind()可以引用任何对象。this

这在一个方法中

在对象方法中使用时,this指的是对象。

在顶部的示例中,this指的是person对象。

因为fullName方法是person对象的方法。

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

这个单独

单独使用时,this指的是全局对象。

因为this是在全局范围内运行的。

在浏览器窗口中,全局对象是[object Window]:

let x = this;

在严格模式下,单独使用时,this也指全局对象:

"use strict";let x = this;

this在函数中(默认)

在函数中,全局对象是this.

在浏览器窗口中,全局对象是[object Window]:

function myFunction() {  return this;
}

函数中的this (严格)

JavaScript严格模式不允许默认绑定。

因此,当在函数中使用时,在严格模式下,this是undefined.

"use strict";function myFunction() {  return this;
}

事件处理程序中的this

在 HTML 事件处理程序中,this指的是接收到事件的 HTML 元素:

<button onclick="this.style.display='none'">
  Click to Remove Me!</button>

对象方法绑定

在这些示例中,this是person 对象:

const person = {  firstName  : "John",  lastName   : "Doe",  id         : 5566,  myFunction : function() {    return this;
  }
};

例子:

const person = {  firstName: "John",  lastName : "Doe",  id       : 5566,  fullName : function() {    return this.firstName + " " + this.lastName;
  }
};

即this.firstName是this(人对象)的firstName属性。

显式函数绑定

call()和apply()方法是预定义的 JavaScript 方法。

它们都可以用来调用以另一个对象为参数的对象方法。

以上就是“JavaScript中的this关键字是什么及怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI