JavaScirpt基础 之 this 关键字 八

简介: this 关键字

JavaScirpt基础 之 this 关键字 八

this 关键字面向对象语言中 this 表示当前对象的一个引用。

但在 JavaScript 中 this 不是固定不变的,它会随着执行环境的改变而改变。

显式函数绑定
在 JavaScript 中函数也是对象,对象则有方法,apply 和 call 就是函数对象的方法。
这两个方法异常强大,他们允许切换函数执行的上下文环境(context),即 this 绑定的对象。

当我们使用 person2 作为参数来调用 person1.fullName 方法时, this 将指向 person2, 即便它是 person1 的方法:
AI 代码解读

举例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>显式函数绑定</title>
</head>
<body>

<h2>JavaScript this 关键字</h2>
<p>实例中 <strong>this</strong> 指向了 person2,即便它是 person1 的方法:</p>

<p id="demo"></p>

<script>
var person1 = {
  fullName: function() {
    return this.firstName + " " + this.lastName;
  }
}
var person2 = {
  firstName:"John",
  lastName: "Doe",
}
var x = person1.fullName.call(person2); 
document.getElementById("demo").innerHTML = x; 
</script>

</body>
</html>
AI 代码解读

结果

JavaScript this 关键字
实例中 this 指向了 person2,即便它是 person1 的方法:

John Doe
AI 代码解读
目录
打赏
0
0
0
0
296
分享
相关文章
函数计算产品使用问题之ComfyUI界面没有显示Manager按钮是什么原因
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
深入探索容器化技术——Docker 的实战应用
深入探索容器化技术——Docker 的实战应用
110 0
Flutter 一行Row中显示RadioListTile
Flutter 一行Row中显示RadioListTile
180 0
【头歌·计组·自己动手画CPU】五、单总线CPU设计(理论版) 【计算机硬件系统设计】
【头歌·计组·自己动手画CPU】五、单总线CPU设计(理论版) 【计算机硬件系统设计】
2365 2
JAVA对象jackson序列化json属性名首字母变成小写的解决方案
java代码对象如下: package com.ctrip.market.messagepush.
2772 0
Magisk模块:阴影截图可切换带壳截图
一款自动为截图套上阴影边框的面具模块 使用模块自动完成截图后的套阴影操作 如果不想使用阴影方式,也可以切换为带壳,壳子可以自定义 还有更多3D壳子可供选择
416 0
阿里云服务器怎么申请?
2023阿里云服务器购买流程更新,选购云服务器有两个入口,一个是选择活动机,只需要选择云服务器地域、系统、带宽即可;另一个是在云服务器页面,自定义选择云服务器配置,这种方式购买云服务器较为复杂,需要选付费方式、地域及可用区、ECS实例规格、镜像、网络、公网IP、安全组等配置,阿里云百科来阿里云服务器购买流程指南2023新版教程:
248 0
阿里云服务器怎么申请?
krpano动态加载设置热点
上一张中已经完成了比较简易的3D全景浏览,但是...这是写死在xml中的,对于我们实际的项目,这种情况是不可能适应的。所以,来了解下如何动态加载xml已经设置对应的热点。
krpano动态加载设置热点
儿童节教大家做一个C#图片匹配小游戏
儿童节教大家做一个C#图片匹配小游戏
207 0
儿童节教大家做一个C#图片匹配小游戏
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问